字符串习题

    xiaoxiao2021-04-14  98

    一、单项选择题

    1.下面代码将创建(    )个对象。

    String s1 = new String("computer");

    String s2 = new String("computer");

    A.0                            B.1

    C.2                            D.3

    2.(*)已知StringBuffersb = new StringBuffer("abc"),则sb.reverse()后sb

    的值为(   )。

    A.abc                         B.acb

    C.cba                         D.cab

    3.已知StringBuffersb = new StringBuffer("abcde"),则sb.delete(1,2)后sb

    值为(   )。

    A.abc                         B.abde

    C.acde                        D.ade

    4.由"a".compareTo("b")得到的数值(    )。

    A.> 0                          B.= 0

    C.< 0                           D.不确定

    5.已知String s =" good night ",则s.trim()的值为(    )。

    A."good night"                 B."good night"

    C."good night "                D."goodnight"

    6.(*)已知String s = "onetwothree",则s.substring(1 ,4)的值为(    )。

    A.one                          B.net

    C.netw                         D.two

    7.调用下面哪个方法时会改变原有对象?(    )

    A.String的trim()              B.String的length()

    C.StringBuffer的reverse()     D.StringBuffer的length()

    8.假设String s = "Niceto meet you",则下面返回"to" 的语句为(    )。

    A.s.substring(6,8);            B.s.substring(5,9);

    C.s.substring(5,7);            D.s.substring(6,7);

    9.以下程序段执行的结果为(    )。

    String s1 ,s2;

    s1 = new String("Goodholiday.");

    s2 = new String("Goodholiday.");

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

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

    A.truefalse                    B.truetrue

    C.falsetrue                    D.falsefalse

    10.分析下面的代码,其输出结果是(    )。

    public class Test3 {

    public static voidmain(String[] args) {

            Stringfoo = "blue";

            String bar = foo;

            foo= "green";

            System.out.println(bar);

        }

    }

    A. 一个异常抛出                 B. blue

    C. null                         D. green

    11.(*)下面代码执行后,正确的输出结果是(    )。

    String s1 = "You arehired!";

    System.out.println(s1.replace(’h’,’f’));

    System.out.println(s1);

    A. You are fired!

       You are hired!

    B. You are fired!

       You are fired!

    C. You are hired!

       Youare hired!

    D. You are hired!

       Youare fired!

     

    二、简答题

    简述String 和StringBuffer的区别。

     

    三、编程题

    1.从键盘输入一个带绝对路径的文件全名(如:d:\first\Hello.java),判断是否为存放在d盘上的java源程序文件。

    2.有三个字符串,编写程序找出其中最大者。

    3. 设定5个字符串,要求只打印那些以字母“b”开头的串,编写程序完成。

    4.从键盘输入2个字符串,判断内容是否相同。如果不相同,从小到大输出两个字符串。

    5.(*)从键盘输入一个字符串,使用String类的charAt方法判断是否回文,并

    输出结果。

    6.从键盘输入一句英文,统计字符串所包含的单词数,并逐个分行输出每个单词。

    7.5 精选习题参考答案

    一、单项选择题

    1.C         2.C        3.C        4.C        5.A        6.B

    7.A         8.C        9.A        10.B       11.A

     

    二、简答题

    Java平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。String类提供了值不可改变的字符串,而StringBuffer类提供的字符串可以进行修改。当字符串数据需要改变的时候就可以使用StringBuffer来动态构造字符数据。

     

    三、编程题

    1.

    importjava.util.Scanner;

    class TestJavaFile{

        public static void main(String[] args) {

            System.out.println("请输入一个带绝对路径的文件全名字符串:");

            Scanner reader = new Scanner(System.in);

            String s = reader.nextLine();

            if (s.startsWith("d:")&& s.endsWith(".java")) {

                System.out.println("是存放在d盘上的java源程序文件。");

            } else {

                System.out.println("不是存放在d盘上的java源程序文件。");

            }

        }

    }

    程序的输出结果:

    (1)请输入一个带绝对路径的文件全名字符串:

    C:\a.txt

    不是存放在d盘上的java源程序文件。

    (2)请输入一个带绝对路径的文件全名字符串:

    d:\test\Hello.java

    是存放在d盘上的java源程序文件。

    2. 

    class Max {

        public static void main(String args[]) {

            String s1 = "Hello Java";

            String s2 = "Java Applet";

            String s3 = "Java";

            String s;

            if (s1.compareTo(s2) < 0)

                s = s2;

            else

                s = s1;

            if (s.compareTo(s3) < 0)

                s = s3;

            System.out.println("big = " +s);

        }

    }

    程序的输出结果:

    big = Java Applet

    3. 

    class StartWithB{

        public static void main(String args[]) {

            String s1 = "hello";

            String s2 = "bee";

            String s3 = "java";

            String s4 = "brove";

            String s5 = "bag";

            prt(s1);

            prt(s2);

            prt(s3);

            prt(s4);

            prt(s5);

        }

        public static void prt(String t) {

            if (t.indexOf('b') == 0)

                System.out.println(t);

        }

    }

    程序的输出结果:

    bee

    brove

    bag

    4.  

    import java.util.Scanner;

    class TestEquals {

        public static void main(String[] args) {

            System.out.println("请输入2个字符串:");

            Scanner reader = new Scanner(System.in);

            String s1 = reader.nextLine();

            String s2 = reader.nextLine();

            boolean flg = s1.equals(s2);

            if (flg) {

                System.out.println("两个字符串内容相同。");

            } else {

                int i = s1.compareTo(s2);

                System.out.println("两个字符串内容不同,从小到大依次为:");

                if (i > 0) {

                    System.out.print(s2 +"," + s1);

                } else {

                    System.out.print(s1 +"," + s2);

                }

            }

        }

    }

    程序的输出结果:

    (1)请输入2个字符串:

    java

    c++

    两个字符串内容不同,从小到大依次为:

    c++,java

    (2)请输入2个字符串:

    hello

    hello

    两个字符串内容相同。

    5. 

    importjava.util.Scanner;

    class Palindrome {

        public static void main(String[] args) {

            System.out.println("请输入一个非空的字符串:");

            Scanner reader = new Scanner(System.in);

            String s = reader.nextLine();

            if ("".equals(s)) {

                System.out.println("您输入的是空字符串。");

            } else {

                boolean flg = true;

                for (int i = 0; i <= s.length() /2; i++) {

                    if (s.charAt(i) !=s.charAt(s.length() - 1 - i)) {

                        flg = false;

                        break;

                    }

                }

                if (flg) {

                    System.out.println("您输入的字符串是回文。");

                } else {

                    System.out.println("您输入的字符串不是回文。");

                }

            }

        }

    }

    程序的输出结果:

    (1)请输入一个非空的字符串:

    java

    您输入的字符串不是回文。

    (2)请输入一个非空的字符串:

    abcba

    您输入的字符串是回文。

    6.

    importjava.util.Scanner;

    importjava.util.StringTokenizer;

    class TestTokenizer{

        public static void main(String[] args) {

            System.out.println("请输入一个字符串:");

            Scanner reader = new Scanner(System.in);

            String s = reader.nextLine();

            StringTokenizer fenxi = newStringTokenizer(s, " ,");

            int number = fenxi.countTokens();

            System.out.println("字符串包含的单词数:"+ number + "个");

            while (fenxi.hasMoreTokens()) {

                String str = fenxi.nextToken();

                System.out.println(str);

            }

        }

    }

    程序的输出结果:

    请输入一个字符串:

    I love java

    字符串包含的单词数:3个

    I

    love

    java

    转载请注明原文地址: https://ju.6miu.com/read-670613.html

    最新回复(0)