第七章字符串本章例子例7-1字符串常量的使用示例。classExp7-1{publicstaticvoidmain(String[]args){Stirngs=“HelloWorld!”;intstrlen=s.length();System.out.println(s+“的长度是:”+strlen);System.out.println(s+“中的第一个字符是:”+s.charAt(0));System.out.println(s+“中的第二个字符是:”+s.charAt(1));System.out.println(“HelloWorld!的长度是:”+“HelloWorld!”.length());System.out.println(“HelloWorld!中的第一个字符是:”+”HelloWorld!”.charAt(0));System.out.println(“HelloWorld!中的第二个字符是:”+”HelloWorld!”.charAt(1));}}上述方法length及charAt都是类String中定义的方法(关于这些方法,我们将在稍后介绍)。Stirngs=“HelloWorld!”;intstrlen=s.length();s.charAt(0));s.charAt(1));“HelloWorld!”.length());”HelloWorld!”.charAt(0));”HelloWorld!”.charAt(1));说明:因为字符串是类String的对象,因此你可以使用:字符串对象.方法(实参)来调用类String的方法。例如,上例程序中所使用的方法调用:例7-2创建类String对象的示例classExp7-2{publicstaticvoidmain([]args){char[]ch={‘H’,‘E’,‘L’,‘L’,‘O’,‘!’};Strings1=“WORLD!”;Strings2=newString(“JAVA!”);Strings3=s1;Strings4=newString(s2);Strings5=newString(ch);Strings6=newString(ch,0,3);System.out.println(s1);System.out.println(s2);System.out.println(s3);System.out.println(s4);System.out.println(s5);System.out.println(s6);System.out.println(s1+s2+s3+s4+s5+s6);}}运行结果:WORLD!JAVA!WORLD!JAVA!HELLO!HELWORLD!JAVA!WORLD!JAVA!HELLO!HEL2)运算符+不仅可以连接两个字符串,还可以将一个字符串与一个数值量相连接。例如,Strings1=newString(“aaa”);Strings2=newString(“bbb”);Strings3=newString();s1+=11;s2+=(20+30);s3+=s1+s2+44+55;System.out.println(“s1=”+s1);System.out.println(“s2=”+s2);System.out.println(“s3=”+s3);运行结果:s1=aaa11s2=bbb50s3=aaa11bbb504455注意:在连接一个数值时,JAVA首先自动将它转换成字符串,然后再进行连接!第七章字符串习题部分7-1写出程序的运行结果classExp7-1{publicstaticvoidmain([]args){System.out.println(timeToString(0,0,0));System.out.println(timeToString(8,30,46));System.out.println(timeToString(12,5,13));System.out.println(timeToString(18,59,59));System.out.println(timeToString(23,0,1));}staticStringtimeToString(inth,intm,ints){return((h==12||h==0)?12:h%12)+”:”+(m10?”10”:””)+m+”:”+(s10?”10”:””)+s+(h12?”AM”:”PM”);}}7-2写出程序的运行结果classExp7-2{publicstaticvoidmain([]args){charcArray[]={‘一’,’路’,’顺’,’风’,’!’};StringsArray[]=newString[6];StringBuffersb=newStringBuffer(“很高兴见到您!”);Strings=“别来无恙?”;sArray[0]=newString(s);sArray[1]=newString();sArray[2]=newString(“节日快乐!”);sArray[3]=newString(cArray);sArray[4]=newString(cArray,2,3);sArray[5]=newString(sb);for(injti=0;isArray.length;i++)System.out.println(sArray[i]);}}7-3写出程序的运行结果classExp7-3{publicstaticvoidmain([]args){Strings=“上海自来水来自海上,对吗?”;for(injti=0;is.length()-1;i++)System.out.print(s.charAt(i));System.out.println();}}***7-4写出程序的运行结果classExp7-4{publicstaticvoidmain([]args){Strings1=“JavaProgramming”;Strings2=“javaprogramming”;Strings3=newString(s2);Strings4=newString(“java1234567890”);if(s1.equals(s2))System.out.println(“s1equalss2”);if(s1.equalsIgnoreCase(s2))System.out.println(“s1equalss2ignorecase”);System.out.println(s1+”compareTo”+s3+“=”+s1.compareTo(s3);System.out.println(s2+”compareTo”+s3+“=”+s2.compareTo(s3);System.out.println(s3+”compareTo”+s4+“=”+s3.compareTo(s4);}}***7-5写出程序的运行结果classExp7-5{publicstaticvoidmain([]args){Strings=“Iamalsoastring”;Stringsubs=“also”;inti=0,j=0;System.out.print(”字符\’a\’在字符串”+s+”中的正序位置:”);while(j!=-1){j=s.indexOf((int)’a’,i);System.out.print(j+”\t”);i=j+1;}System.out.println();System.out.print(”字符\’a\’在字符串”+s+”中反序的位置:”);for(i=s.length();i!=-1;){i=s.lastIndexOf(’a’,i-1);System.out.print(i+”\t”);}System.out.println();System.out.println(”子串\””+subs+”在字符串”+s+”中正序的位置:”+s.indexOf(subs));System.out.println(”子串\””+subs+”在字符串”+s+”中反序的位置:”+s.lastindexOf(subs));}}***7-6写出程序的运行结果classExp7-6{publicstaticvoidmain([]args){Strings1=“到中流击水,浪扼飞舟!”;Strings2=“曾记否,”;Strings3=“HELLO,myfriend”;Strings4=“\t”+s3+“”+”,I’mhere”+”\n”;System.out.println(“字符串\””+s1+”\”从第6个位置开始的子串是\””+s.substring(6)+”\””);System.out.println(“字符串\””+s1+”\”从头开始长度为3的子串是\””+s.substring(0,3)+”\””);System.out.println(“2个字符串相接为\””+s2.concat(s1)+”\””);System.out.println(“相接后原来的字符串为:\””+s2+”\””);if(s2.startsWith(“曾记否”))System.out.println(“字符串\””+s2+”\”以子串\”曾记否\”开始”);if(s2.endsWith(“!”))System.out.println(“字符串\””+s1+”\”以子串\”!\”结束”);System.out.println(s3.toUpperCase());System.out.println(s3.toLowerCase());System.out.println(s4);System.out.println(s4.trim());}}7-7编程:接受用户输入的2个字符串,比较它们的大小,并输出比较结果(区分大、小及相等)。7-8编程:接受用户输入的若干个字符串,并按词典次序排列输出这些字符串。7-9利用命令行参数,实现7-7:接受用户输入的2个字符串,比较它们的大小,并输出比较结果(区分大、小及相等)。上机练习7-10利用命令行参数输入若干个表示浮点数的字符串,输出其中最小值的字符串表示。7-11设计一个公用的静态方法binToDec(Strings):若s是一个二进制数的字符串,则返回相应的十进制的字符串。上机练习7-7——编程:接受用户输入的2个字符串,比较它们的大小,并输出比较结果(区分大、小及相等)。(参考答案)importjava.io.*;classExp7_7{publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderdin=newBufferedReader(newInputStreamReader(System.in));Stringinput1,input2;System.out.println(请输入2个字符串:);input1=din.readLine();input2=din.readLine();if(input1.compareTo(input2)==0)System.out.println(input1+==+input2);elseif(input1.compareTo(input2)0)System.out.println(input1++input2);elseSystem.out.println(input1++input2);}}上机练习7-8——编程:接受用户输入的若干个字符串,并按词典次序排列输出这些字符串。(参考答案。利用命令行参数)publicclassExp7_8{publicstaticvoidmain(String[]args){Stringmax,tempstr;inti,j,k;for(i=0;iargs.length-1;i++){max=args[i];k