ch5类模板及应用
- 格式:ppt
- 大小:257.50 KB
- 文档页数:29
第一节String类一、String类的赋值方式String a="abc";String b=new String("abc");二、equals和==equals比较内容是否相同import java.util.Scanner;public class Login {public static void main(String args[]){Scanner in=new Scanner(System.in);System.out.println("请输入用户名");String username=in.next();System.out.println("请输入密码");String password=in.next();if(username.equals("zhangsan")&&password.equals("456")){ System.out.print("用户名和密码正确可以登录");}else{System.out.print("用户名和密码不正确不可以登录");}}三、String类的不变特性字符串对象一旦被配置,它的内容就是固定不可变的(immutable),String str = "just";str = "justin";在这个程序片段中,会有两个字符串对象,一个是"just",长度为4,一个是"justin",长度为6,它们两个是不同的字符串对象四、常用方法char charAt(int index) 传回指定索引处的字符int indexOf(int ch) 传回指定字符第一个找到的索引位置int indexOf(String str) 传回指定字符串第一个找到的索引位置int lastIndexOf(int ch) 传回指定字符最后一个找到的索引位置public class AccesString{public static void main(String args[]) {int n1,n2,n3;String ko="Visual Basic",La="java",s1,s2,s3,s4="C++";s1=ko.concat(La);s2 = s1.substring (7, 16);s3=ko.replace('s','x');n1=s1.length();n2=s1.indexOf(La);//n3=s1.indexOf("Visual"); //结果为0n3=stIndexOf("Visual");//结果为也为0System.out.println(s1);System.out.println(s2);System.out.println(s3);System.out.println(n1);System.out.println(n2);System.out.println(n3);}五、练习从键盘输入一个字符串,统计其中大写字母、小写字母和其它字符的个数compareTo方法"A".compareTo("B")的结果为-1"A".compareTo("A")的结果为0"B".compareTo("A")的结果为1解法1:import java.util.Scanner;public class SubString {public static void main(String a[]){Scanner sc1=new Scanner(System.in);String str1=sc1.next();int lcaseA=0;int UcaseA=0;int othernum=0;String temp;for(int i=0;i<str1.length();i++){temp=str1.substring(i, i+1);if(pareTo("A")>=0&&pareTo("Z")<=0)UcaseA++;else if(pareTo("a")>=0&&pareTo("z")<=0) lcaseA++;elseothernum++;}System.out.println("Ucase alphabet"+UcaseA);System.out.println("Lcase alphabet"+lcaseA);System.out.println("other character"+othernum);解法2:import java.util.Scanner;public class SubString2 {public static void main(String a[]){Scanner sc1=new Scanner(System.in);String str1=sc1.next();int lcaseA=0;int UcaseA=0;int othernum=0;char temp;for(int i=0;i<str1.length();i++){temp=str1.charAt(i);if(temp>='A'&&temp<='Z')UcaseA++;else if(temp>='a'&&temp<='z')lcaseA++;elseothernum++;}System.out.println("Ucase alphabet"+UcaseA);System.out.println("Lcase alphabet"+lcaseA);System.out.println("other character"+othernum);}}解法3import java.util.Scanner;public class SubString3 {public static void main(String a[]){Scanner sc1=new Scanner(System.in);String str1=sc1.next();int lcaseA=0;int UcaseA=0;int othernum=0;char char1 []=str1.toCharArray();for(int i=0;i<char1.length;i++){if(char1[i] >='A'&&char1[i] <='Z')UcaseA++;else if(char1[i] >='a'&&char1[i] <='z')lcaseA++;elseothernum++;}System.out.println("Ucase alphabet"+UcaseA);System.out.println("Lcase alphabet"+lcaseA);System.out.println("other character"+othernum);}}解法4import java.util.Scanner;public class SubString4 {public static void main(String a[]){Scanner sc1=new Scanner(System.in);String str1=sc1.next();int lcaseA=0;int UcaseA=0;int digitnum=0;int othernum=0;char char1 []=str1.toCharArray();for(int i=0;i<char1.length;i++){if(Character.isUpperCase(char1[i]))UcaseA++;else if(Character.isLowerCase(char1[i]))lcaseA++;else if(Character.isDigit(char1[i]))digitnum++;elseothernum++;}System.out.println("Ucase alphabet"+UcaseA);System.out.println("Lcase alphabet"+lcaseA);System.out.println("digit character"+digitnum); System.out.println("other character"+othernum);}}3、统计一个字符串中各个大写字母个数:import java.util.Scanner;public class CountChar {public static void main(String a[]){Scanner sc1=new Scanner(System.in);String str1=sc1.next();char alph[]=new char[26];for(int i=0;i<=25;i++){alph[i]=(char)(65+i);}int countnumber[]=new int[26];char temp;for(int i=0;i<str1.length();i++){temp=str1.charAt(i);for(int j=0;j<=25;j++){if (temp==alph[j]){countnumber[j]++;break;}}}for(int i=0;i<26;i++)System.out.println((char)(i+65)+"的个数是"+countnumber[i]);}}六、endsWith()方法可以使用endsWith()方法来过滤文件名称,下面这个程序过滤出文件类型为jpg 的文件:UseString.javapublic class UseString {public static void main(String[] args) {String[] filenames = {"caterpillar.jpg", "cater.gif","bush.jpg", "wuwu.jpg", "clockman.gif"};System.out.print("过滤出jpg文件: ");for(int i = 0; i < filenames.length; i++)if(filenames[i].endsWith("jpg"))System.out.print(filenames[i] + " ");System.out.println("");}}第二节StringBuffer类StringBuffer可以对类进行修改。