1.设计一个方法 将字符串反转;ok-->ko
public class StringStudy{ public String reverse(String a){ int l=a.length(); char[] b=b=a.toCharArray(); for(int i=0;i<l/2;i++){//0,1 char temp=b[i];//a,b b[i]=b[l-1-i];//d,c b[l-1-i]=temp;//a,b //System.out.println(i+":"+b[i]+"-"+b[l-1-i]); } a=new String(b); return a; } } public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); String y="中国红"; y=x.reverse(y); System.out.println(y); } }//1
2.设计一个方法 将给定字符串的正序和反序进行连接 ok-->okko
//1.设计一个方法 将字符串反转;ok-->ko public class StringStudy{ public String reverse(String a){ int l=a.length(); char[] b=b=a.toCharArray(); for(int i=0;i<l/2;i++){//0,1 char temp=b[i];//a,b b[i]=b[l-1-i];//d,c b[l-1-i]=temp;//a,b //System.out.println(i+":"+b[i]+"-"+b[l-1-i]); } a=new String(b); return a; } //} //2.设计一个方法 将给定字符串的正序和反序进行连接 ok-->okko //public class StringStudy{ public String fp(String a){ /* int l=a.length(); char[] b=a.toCharArray(); for(int i=0;i<l/2;i++){ char temp=b[i]; b[i]=b[l-1-i]; b[l-1-i]=temp; } String aa=new String(b); a=a.concat(aa); return a; */ return a.concat(this.reverse(a)); } }
public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); String y="abcd"; y=x.fp(y); System.out.println(y); } }//2
3.判断字符串是否是回文? abccba abcba
public class StringStudy{ public String reverse(String a){ int l=a.length(); char[] b=b=a.toCharArray(); for(int i=0;i<l/2;i++){//0,1 char temp=b[i];//a,b b[i]=b[l-1-i];//d,c b[l-1-i]=temp;//a,b //System.out.println(i+":"+b[i]+"-"+b[l-1-i]); } a=new String(b); return a; } public boolean isHuiWen(String a){ if(this.reverse(a).equals(a)){ return true; } return false; } }
public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); String y="abcba"; boolean z=x.isHuiWen(y); if(z){ System.out.println("是回文"); }else{ System.out.println("不是回文"); } } }//3
4.将给定的字符串右位移 x位置;(helloworld 2)-->ldhellowor
//4.将给定的字符串右位移 x位置;(helloworld 2)-->ldhellowor public class StringStudy{ public String rightY(String a,int index){ String d="不能左移"; if(index>0){ index%=a.length(); String j=a.substring(0,a.length()-index); String k=a.substring(a.length()-index); d=k.concat(j); } return d; } }
public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); String y="helloworld"; int z=1; y=x.rightY(y,z); System.out.println(y); } }//4
5.寻找若干字符串中最长的那个;ab,abcd-->abcd
//5.寻找若干字符串中最长的那个;ab,abcd-->abcd public class StringStudy{ public String find(String...a){ String b=a[0]; int max=b.length(); for(int i=1;i<a.length;i++){ if(max<a[i].length()){ b=a[i]; max=b.length(); } } return b; } }
public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); String j=x.find("abcdefgh","abc","e","jklkjljklljk"); System.out.println(j); } }//5
6.统计给定字母在字符串中出现的次数 "this is a a" "a"-->2
//6.统计给定字母在字符串中出现的次数 "this is a a test java" "a"-->4 public class StringStudy{ /* public int find(String a,char b){ int x=0; for(int i=0;i<a.length();i++){ if(a.charAt(i)==b){ x++; } } return x; }//方式1 */ public int find(String a,char b){ String c=a.replaceAll(String.valueOf(b),""); return a.length()-c.length(); }//方式2 }
public class Tests{ public static void main(String[] args){ //StringStudy z=new StringStudy(); StringStudy z=new StringStudy(); int m=z.find("this is a a test java",'a'); System.out.println(m); } }//6
7.将给定的字符串每一个首字母大写"this is a a"--> This Is A A
//7.将给定的字符串每一个首字母大写"this is a a"--> This Is A A public class StringStudy{ /* public String changeF(String a){ String result=""; String[] b=a.split(" "); for(int i=0;i<b.length;i++){ String x=b[i].substring(0,1).toUpperCase(); String y=b[i].substring(1); result=result.concat(x.concat(y)+" ");//最后一个字符多个空格 } //result=result.substring(0,a.length()); result=result.trim(); return result; }//方式1 */ boolean flag=true; public String changeF(String a){ char[] x=a.toCharArray();//转为数组(小写) String b=a.toUpperCase(); char[] y=b.toCharArray();//数组(大写) x[0]=y[0]; int index=a.indexOf(" ");//找寻a字符串出现索引的第一个位置 //2 int n=0; while(flag){ if(index!=-1 && index<(a.length()-1)){ n+=index;//2,4 n++; a=a.substring(index+1);//cd ef;ef; x[n]=y[n];//C index=a.indexOf(" ");//2 }else{ flag=false; } } a=new String(x); return a;//方式2 } }
public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); System.out.println(x.changeF("this is a test of java")); } }//7
8.获取给定字符串中的全部数组"za8yq32"-->832
//8.获取给定字符串中的全部数字"za8yq32"-->832 public class StringStudy{ public int check(String a){ String z=""; for(int i=0;i<a.length();i++){ if(a.codePointAt(i)>=48 && a.codePointAt(i)<=57){//0对应的code是48,9是57 //z+=a.substring(i,i+1); z+=(char)a.codePointAt(i); } } if(z.length()>0){ return Integer.parseInt(z); } return 0; } }
public class Tests{ public static void main(String[] args){ StringStudy x=new StringStudy(); System.out.println(x.check("za8yq32")); } }