• 课堂例子验证


    课堂例子验证:

    1.// OtherCharMethods.java

    // Demonstrate the non-static methods of class

    // Character from the java.lang package.

    import javax.swing.*;

    public class OtherCharMethods {

       public static void main( String args[] )

       {

          Character c1, c2;

          c1 = new Character( 'A' );

          c2 = new Character( 'a' );

          String output =

             "c1 = " + c1.charValue() +

             " c2 = " + c2.toString() +

             " hash code for c1 = " + c1.hashCode() +

             " hash code for c2 = " + c2.hashCode();

          if (  c1.equals( c2 ) )

             output += " c1 and c2 are equal";

          else

             output += " c1 and c2 are not equal";

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating Non-Static Character Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    2.// StaticCharMethods.java

    // Demonstrates the static character testing methods

    // and case conversion methods of class Character

    // from the java.lang package.

    import javax.swing.*;

    import java.awt.*;

    import java.awt.event.*;

    public class StaticCharMethods extends JFrame {

       private char c;

       //以下定义几个图形界面组件

       private JLabel prompt;

       private JTextField input;

       private JTextArea outputArea;

       public StaticCharMethods()

       {

        //super代表调用基类JFrame的构造方法,其结果是设置了窗口的标题栏

          super( "Static Character Methods" );

    //getContentPane是基类提供的方法,它获取窗体中可存放图形控件的空白区域

    //所有的可容纳其它图形控件的区域被称为----"容器",它有一个基类,称为Container

          Container container = getContentPane();

          //设置布局方式为流布局方式:即从左到右地放置控件,一行放不下,就移到下一行

          container.setLayout( new FlowLayout() );

          prompt =

             new JLabel( "Enter a character and press Enter" );

          container.add( prompt );  //将控件加入容器中

          input = new JTextField( 5 );

          //设定文本框对回车键响应

          input.addActionListener(

             new ActionListener() {

              //在下面的函数中定义要干的事

                public void actionPerformed( ActionEvent e )

                {  

                   String s = e.getActionCommand();

                                  c = s.charAt( 0 );

                   buildOutput(); //构造输出结果

                }

             }

          );

          container.add( input );

          outputArea = new JTextArea( 10, 20 );

          container.add( outputArea );

          setSize( 300, 250 );  // set the window size

          show();               // show the window

       }

       public void buildOutput()

       {

          outputArea.setText(

              "is defined: " + Character.isDefined( c ) +

              " is digit: " + Character.isDigit( c ) + //是否数字

              " is Java letter: " +

              Character.isJavaIdentifierStart( c ) + //是否可作为标识符的第一个字符

              " is Java letter or digit: " +

              Character.isJavaIdentifierPart( c ) + //是否可作为标识符的字符

              " is letter: " + Character.isLetter( c ) +

              " is letter or digit: " +

              Character.isLetterOrDigit( c ) +

              " is lower case: " + Character.isLowerCase( c ) +

              " is upper case: " + Character.isUpperCase( c ) +

              " to upper case: " + Character.toUpperCase( c ) +

              " to lower case: " + Character.toLowerCase( c ) );

       }

    //程序入口点

       public static void main( String args[] )

       {

          StaticCharMethods application = new StaticCharMethods();

          //只有加上这一句,才能实现单击窗口关闭按钮关闭程序

          application.addWindowListener(

             new WindowAdapter() {

                public void windowClosing( WindowEvent e )

                {

                   System.exit( 0 ); //退出系统

                }

             }

          );

       }

    }

    3.// StringBufferAppend.java

    // This program demonstrates the append

    // methods of the StringBuffer class.

    import javax.swing.*;

    public class StringBufferAppend {

       public static void main( String args[] )

       {

          Object o = "hello"; 

          String s = "good bye";  

          char charArray[] = { 'a', 'b', 'c', 'd', 'e', 'f' };

          boolean b = true;

          char c = 'Z';

          int i = 7;

          long l = 10000000;

          float f = 2.5f;

          double d = 33.333;

          StringBuffer buf = new StringBuffer();

          buf.append( o );

          buf.append( "  " );

          buf.append( s );

          buf.append( "  " );

          buf.append( charArray );

          buf.append( "  " );

          buf.append( charArray, 0, 3 );

          buf.append( "  " );

          buf.append( b );

          buf.append( "  " );

          buf.append( c );

          buf.append( "  " );

          buf.append( i );

          buf.append( "  " );

          buf.append( l );

          buf.append( "  " );

          buf.append( f );

          buf.append( "  " );

          buf.append( d );

          JOptionPane.showMessageDialog( null,

             "buf = " + buf.toString(),

             "Demonstrating StringBuffer append Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    4.

    // StringBufferCapLen.java

    // This program demonstrates the length and

    // capacity methods of the StringBuffer class.

    import javax.swing.*;

    public class StringBufferCapLen {

       public static void main( String args[] )

       {

          StringBuffer buf =

             new StringBuffer( "Hello, how are you?" );

          //length:当前字符个数

          //capacity:不另外分配内存可以存放的字符个数

          

          String output = "buf = " + buf.toString() +

                          " length = " + buf.length() +

                          " capacity = " + buf.capacity();

                          

      //ensureCapacity:保证StringBuffer的最小容量

          buf.ensureCapacity( 75 );

          output += " New capacity = " + buf.capacity();

      

      //setLength:增大或减小StringBuffer的长度

          buf.setLength( 10 );

          output += " New length = " + buf.length() +

                    " buf = " + buf.toString();

          JOptionPane.showMessageDialog( null, output,

             "StringBuffer length and capacity Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    5.

    //StringBufferChars.java

    // The charAt, setCharAt, getChars, and reverse methods 

    // of class StringBuffer.

    import javax.swing.*;

    public class StringBufferChars {

       public static void main( String args[] )

       {

          StringBuffer buf = new StringBuffer( "hello there" );

          String output = "buf = " + buf.toString() +

                          " Character at 0: " + buf.charAt( 0 ) +

                          " Character at 4: " + buf.charAt( 4 );

          char charArray[] = new char[ buf.length() ];

          buf.getChars( 0, buf.length(), charArray, 0 );

          //(起始下标,长度,字符数组名,起始下标)

          output += " The characters are: ";

          for ( int i = 0; i < charArray.length; ++i )

             output += charArray[ i ];

          buf.setCharAt( 0, 'H' );

          buf.setCharAt( 6, 'T' );

          output += " buf = " + buf.toString();

      //reverse:倒转字串

          buf.reverse();

          output += " buf = " + buf.toString();

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating StringBuffer Character Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    6.

    // StringBufferConstructors.java

    // This program demonstrates the StringBuffer constructors.

    import javax.swing.*;

    public class StringBufferConstructors {

       public static void main( String args[] )

       {

          StringBuffer buf1, buf2, buf3;

       

          buf1 = new StringBuffer();

          buf2 = new StringBuffer( 10 );

          buf3 = new StringBuffer( "hello" );

          String output =

             "buf1 = " + """ + buf1.toString() + """ +

             " buf2 = " + """ + buf2.toString() + """ +

             " buf3 = " + """ + buf3.toString() + """;

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating StringBuffer Class Constructors",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    7.

    // StringBufferInsert.java

    // This program demonstrates the insert and delete

    // methods of class StringBuffer.

    import javax.swing.*;

    public class StringBufferInsert {

       public static void main( String args[] )

       {

          Object o = "hello";  

          String s = "good bye";  

          char charArray[] = { 'a', 'b', 'c', 'd', 'e', 'f' };

          boolean b = true;

          char c = 'K';

          int i = 7;

          long l = 10000000;

          float f = 2.5f;

          double d = 33.333;

          StringBuffer buf = new StringBuffer();

          buf.insert( 0, o );

          buf.insert( 0, "  " );

          buf.insert( 0, s );

          buf.insert( 0, "  " );

          buf.insert( 0, charArray );

          buf.insert( 0, "  " );

          buf.insert( 0, b );

          buf.insert( 0, "  " );

          buf.insert( 0, c );

          buf.insert( 0, "  " );

          buf.insert( 0, i );

          buf.insert( 0, "  " );

          buf.insert( 0, l );

          buf.insert( 0, "  " );

          buf.insert( 0, f );

          buf.insert( 0, "  " );

          buf.insert( 0, d );

          String output = "buf after inserts: " + buf.toString();

          buf.deleteCharAt( 10 );     // delete 5 in 2.5

          buf.delete( 2, 6 );         // delete .333 in 33.333

          output += " buf after deletes: " + buf.toString();

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating StringBufferer Inserts and Deletes",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    8.

    //  StringCompare

    // This program demonstrates the methods equals, 

    // equalsIgnoreCase, compareTo, and regionMatches 

    // of the String class.

    import javax.swing.JOptionPane;

    public class StringCompare {

       public static void main( String args[] )

       {

          String s1, s2, s3, s4, output;

          s1 = new String( "hello" );

          s2 = new String( "good bye" );

          s3 = new String( "Happy Birthday" );

          s4 = new String( "happy birthday" );

          output = "s1 = " + s1 + " s2 = " + s2 +

                   " s3 = " + s3 + " s4 = " + s4 + " ";

          //test for equality

          //equals用于比较两对象的内容是否相等.

          //自定义对象时需要重载此方法

          if ( s1.equals( "hello" ) )

             output += "s1 equals "hello" ";

          else

             output += "s1 does not equal "hello" "; 

          // test for equality with ==

          //比对引用.只有两个引用指向同一个对象,则结果为true

          if ( s1 == "hello" )

             output += "s1 == "hello" ";

          else

             output += "s1 does not == "hello" ";

          // test for equality--ignore case

          if ( s3.equalsIgnoreCase( s4 ) )

             output += "s3 equals s4 ";

          else

             output += "s3 does not equal s4 ";

          // test compareTo

          //使用字典法进行比较,返回0表两字串相等,小于返回负值,大于返回正值

          output +=

             " s1.compareTo( s2 ) is " + s1.compareTo( s2 ) +

             " s2.compareTo( s1 ) is " + s2.compareTo( s1 ) +

             " s1.compareTo( s1 ) is " + s1.compareTo( s1 ) +

             " s3.compareTo( s4 ) is " + s3.compareTo( s4 ) +

             " s4.compareTo( s3 ) is " + s4.compareTo( s3 ) +

             " ";

          // test regionMatches (case sensitive)

          //比较两字串中的某一部分是否相等

          //参数含义如下:

          //1.调用这个方法的字串中的起始下标

          //2.要比较的字串

          //3.要比较的字串的起始下标

          //4.要比较的字串比较的字符长度

          if ( s3.regionMatches( 0, s4, 0, 5 ) )

             output += "First 5 characters of s3 and s4 match ";

          else

             output +=

                "First 5 characters of s3 and s4 do not match ";

          // test regionMatches (ignore case)

          

          if ( s3.regionMatches( true, 0, s4, 0, 5 ) )

             output += "First 5 characters of s3 and s4 match";

          else

             output +=

                "First 5 characters of s3 and s4 do not match";

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class Constructors",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    /**************************************************************************

     * (C) Copyright 1999 by Deitel & Associates, Inc. and Prentice Hall.     *

     * All Rights Reserved.                                                   *

     *                                                                        *

     * DISCLAIMER: The authors and publisher of this book have used their     *

     * best efforts in preparing the book. These efforts include the          *

     * development, research, and testing of the theories and programs        *

     * to determine their effectiveness. The authors and publisher make       *

     * no warranty of any kind, expressed or implied, with regard to these    *

     * programs or to the documentation contained in these books. The authors *

     * and publisher shall not be liable in any event for incidental or       *

     * consequential damages in connection with, or arising out of, the       *

     * furnishing, performance, or use of these programs.                     *

     *************************************************************************/

    9.

    // StringConcat.java

    // This program demonstrates the String class concat method.

    // Note that the concat method returns a new String object. It

    // does not modify the object that invoked the concat method.

    import javax.swing.*;

    public class StringConcat {

       public static void main( String args[] )

       {

          String s1 = new String( "Happy " ),

                 s2 = new String( "Birthday" ),

                 output;

          output = "s1 = " + s1 +

                   " s2 = " + s2;

          output += " Result of s1.concat( s2 ) = " +

                    s1.concat( s2 );

          output += " s1 after concatenation = " + s1;

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Method concat",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    10.

    // StringConstructors.java

    // This program demonstrates the String class constructors.

    import javax.swing.*;

    public class StringConstructors {

       public static void main( String args[] )

       {

          char charArray[] = { 'b', 'i', 'r', 't', 'h', ' ',

                               'd', 'a', 'y' };

          byte byteArray[] = { (byte) 'n', (byte) 'e', (byte) 'w',

                               (byte) ' ', (byte) 'y', (byte) 'e',

                               (byte) 'a', (byte) 'r' };

          StringBuffer buffer;

          String s, s1, s2, s3, s4, s5, s6, s7, output;

          s = new String( "hello" );

          buffer = //分配缓冲区

             new StringBuffer( "Welcome to Java Programming!" );

          // use the String constructors

          s1 = new String(); //缺省构造函数

          s2 = new String( s ); //拷贝构造函数

          s3 = new String( charArray ); //以字符数组初始化字串

          s4 = new String( charArray, 6, 3 ); //从字符数组第6个元素起取3个字符

          s5 = new String( byteArray, 4, 4 ); //从字节数组第4个元素起取4个字节

          s6 = new String( byteArray );

          s7 = new String( buffer ); //从缓冲区中提取字符创建字串,注意,是复制

          output = "s1 = " + s1 +

                   " s2 = " + s2 +

                   " s3 = " + s3 +

                   " s4 = " + s4 +

                   " s5 = " + s5 +

                   " s6 = " + s6 +

                   " s7 = " + s7;

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class Constructors",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    11.

    public class StringEquals {

        

    /**

         * @param args the command line arguments

         */

        

    public static void main(String[] args) {

            

    String s1=new String("Hello");

            

    String s2=new String("Hello");

            

    System.out.println(s1==s2);

            

    System.out.println(s1.equals(s2));

            

    String s3="Hello";

            

    String s4="Hello";

              

    System.out.println(s3==s4);

            

    System.out.println(s3.equals(s4));

            

        

    }

    }

    12.

    // StringHashCode.java

    // This program demonstrates the method 

    // hashCode of the String class.

    import javax.swing.*;

    public class StringHashCode {

       public static void main( String args[] )

       {

          String s1 = "hello",

                 s2 = "Hello";

          String output =

             "The hash code for "" + s1 + "" is " +

             s1.hashCode() + 

             " The hash code for "" + s2 + "" is " +

             s2.hashCode();

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Method hashCode",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    13.

    //StringIndexMethods.java

    // This program demonstrates the String 

    // class index methods.

    import javax.swing.*;

    public class StringIndexMethods {

       public static void main( String args[] )

       {

          String letters = "abcdefghijklmabcdefghijklm";

          String output;

          // test indexOf to locate a character in a string

          output = "'c' is located at index " +

                   letters.indexOf( 'c' );

          output += " 'a' is located at index " +

                    letters.indexOf( 'a', 1 ); //2个参数是开始查找的起始下标

          output += " '$' is located at index " +

                    letters.indexOf( '$' );

          // test lastIndexOf to find a character in a string

          output += " Last 'c' is located at index " +

                    letters.lastIndexOf( 'c' );

          output += " Last 'a' is located at index " +

                    letters.lastIndexOf( 'a', 25 );

          output += " Last '$' is located at index " +

                    letters.lastIndexOf( '$' );

          // test indexOf to locate a substring in a string

          output += " "def" is located at index " +

                    letters.indexOf( "def" );

          output += " "def" is located at index " +

                    letters.indexOf( "def", 7 );

          output += " "hello" is located at index " +

                    letters.indexOf( "hello" );

          // test lastIndexOf to find a substring in a string

          output += " Last "def" is located at index " +

                    letters.lastIndexOf( "def" );

          output += " Last "def" is located at index " +

                    letters.lastIndexOf( "def", 25 );

          output += " Last "hello" is located at index " +

                    letters.lastIndexOf( "hello" );

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class "index" Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    14.

    //StringMisc.java

    // This program demonstrates the length, charAt and getChars

    // methods of the String class.

    //

    // Note: Method getChars requires a starting point

    // and ending point in the String. The starting point is the

    // actual subscript from which copying starts. The ending point

    // is one past the subscript at which the copying ends.

    import javax.swing.*;

    public class StringMisc {

       public static void main( String args[] )

       {

          String s1, output;

          char charArray[];

          s1 = new String( "hello there" );

          charArray = new char[ 5 ];

          // output the string

          output = "s1: " + s1;

          // test the length method

          output += " Length of s1: " + s1.length();

          // loop through the characters in s1 and display reversed

          output += " The string reversed is: ";

          for ( int i = s1.length() - 1; i >= 0; i-- )

             output += s1.charAt( i ) + " ";

          // copy characters from string into char array

          //四个参数的含义

          //1.被拷贝字符在字串中的起始位置

          //2.被拷贝的最后一个字符在字串中的下标再加1

          //3.目标字符数组

          //4.拷贝的字符放在字符数组中的起始下标

          s1.getChars( 0, 5, charArray, 0 );

          output += " The character array is: ";

          for ( int i = 0; i < charArray.length;i++ )

             output += charArray[ i ];

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class Constructors",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    15.

    public class StringPool {

        

    public static void main(String args[])

        {

            

    String s0="Hello";

            

    String s1="Hello";

            

    String s2="He"+"llo";

            

    System.out.println(s0==s1);//true

            

    System.out.println(s0==s2);//true

            

    System.out.println(new String("Hello")==new String("Hello"));//false

        

    }

    }

    16.

    // StringStartEnd.java

    // This program demonstrates the methods startsWith and

    // endsWith of the String class.

    import javax.swing.*;

    public class StringStartEnd {

       public static void main( String args[] )

       {

          String strings[] = { "started", "starting", 

                               "ended", "ending" };

          String output = "";

          // Test method startsWith

          for ( int i = 0; i < strings.length; i++ )

             if ( strings[ i ].startsWith( "st" ) )

                output += """ + strings[ i ] +

                          "" starts with "st" ";

          output += " ";

          // Test method startsWith starting from position

          // 2 of the string

          for ( int i = 0; i < strings.length; i++ )

             if ( strings[ i ].startsWith( "art", 2 ) ) 

                output += 

                   """ + strings[ i ] +

                   "" starts with "art" at position 2 ";

          output += " ";

          // Test method endsWith

          for ( int i = 0; i < strings.length; i++ )

             if ( strings[ i ].endsWith( "ed" ) )

                output += """ + strings[ i ] +

                          "" ends with "ed" ";

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class Comparisons",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    17.

    // StringValueOf.java

    // This program demonstrates the String class valueOf methods.

    import javax.swing.*;

    public class StringValueOf {

       public static void main( String args[] )

       {

          char charArray[] = { 'a', 'b', 'c', 'd', 'e', 'f' };

          boolean b = true;

          char c = 'Z';

          int i = 7;

          long l = 10000000;

          float f = 2.5f;

          double d = 33.333;

          Object o = "hello";  // Assign to an Object reference

          String output;

          output = "char array = " + String.valueOf( charArray ) +

                   " part of char array = " +

                   String.valueOf( charArray, 3, 3 ) +

                   " boolean = " + String.valueOf( b ) +

                   " char = " + String.valueOf( c ) +

                   " int = " + String.valueOf( i ) +

                   " long = " + String.valueOf( l ) + 

                   " float = " + String.valueOf( f ) + 

                   " double = " + String.valueOf( d ) + 

                   " Object = " + String.valueOf( o );

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class valueOf Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    18.

    // SubString.java

    // This program demonstrates the

    // String class substring methods.

    import javax.swing.*;

    public class SubString {

       public static void main( String args[] )

       {

          String letters = "abcdefghijklmabcdefghijklm";

          String output;

          // test substring methods

          output = "Substring from index 20 to end is " +

                   """ + letters.substring( 20 ) + "" ";

          output += "Substring from index 0 up to 6 is " +

                    """ + letters.substring( 0, 6 ) + """;

                    //(起始下标,要拷贝子串的最后下标加1但不包括该下标)

          JOptionPane.showMessageDialog( null, output,

             "Demonstrating String Class Substring Methods",

             JOptionPane.INFORMATION_MESSAGE );

          System.exit( 0 );

       }

    }

    19.

    public class Test {

    /**

     * @param args

     */

    public static void main(String[] args) {

    String aString="abc";

    String bString="abc";

    bString=new String("abc");

    System.out.println(aString==bString);

    bString += "def";

    System.out.println(bString);

    }

    }

    20.

    // TokenTest.java

    // Testing the StringTokenizer class of the java.util package

    import javax.swing.*;

    import java.util.*;

    import java.awt.*;

    import java.awt.event.*;

    public class TokenTest extends JFrame {

       private JLabel prompt;

       private JTextField input;

       private JTextArea output;

       public TokenTest()

       {

          super( "Testing Class StringTokenizer" );

          Container c = getContentPane();

          c.setLayout( new FlowLayout() );

          prompt =

             new JLabel( "Enter a sentence and press Enter" );

          c.add( prompt );

          input = new JTextField( 20 );

          input.addActionListener(

             new ActionListener() {

                public void actionPerformed( ActionEvent e )

                {      

                   //获取用户输入的字串

                   String stringToTokenize = e.getActionCommand();

                   StringTokenizer tokens =

                      new StringTokenizer( stringToTokenize );

    //使用缺省构造函数,定界符为:空格,换行符,TAB

                   output.setText( "Number of elements: " +

                      tokens.countTokens() +

                      " The tokens are: " );

                   while ( tokens.hasMoreTokens() )

                      output.append( tokens.nextToken() + " " );

                }

             }

          );

          c.add( input );

          output = new JTextArea( 10, 20 );

          output.setEditable( false );

          c.add( new JScrollPane( output ) );

          setSize( 275, 260 );  // set the window size

          show();               // show the window

       }

       public static void main( String args[] )

       {

          TokenTest app = new TokenTest();

          app.addWindowListener(

             new WindowAdapter() {

                public void windowClosing( WindowEvent e )

                {

                   System.exit( 0 );

                }

             }

          );

       }

    }

  • 相关阅读:
    larbin结构分析
    《钱不要存银行》OneNote
    全局变量、extern/static/const区别与联系
    GIS网址,转自别处
    MSDN无法显示页面的解决
    人生没有奇迹
    开源GIS系统
    推荐:GDAL学习资源
    中国农科院资源区划所MODIS的遥感信息地面接收站
    泡沫产生的特点
  • 原文地址:https://www.cnblogs.com/Jasoon/p/4931697.html
Copyright © 2020-2023  润新知