1.重新编写strim方法,去掉字符串两端的空格
package www.shangguigu.java.exer; import org.junit.Test; /* 练习一:重写Strim方法,输入一个字符串,去掉两端的空格 */ public class StringDemo { @Test // 测试1: public void test1(){ String str = " wangqin wo aini! "; //String str = " "; //只有空格的字符串时,理论上是不打印,但是会出现空指针异常,加上 String newStr = StringDemo.MyStrim(str); System.out.println(newStr); } //练习一: public static String MyStrim(String str){ int start = 0; int end = str.length()-1; while(start<=end && str.charAt(start)==' '){ start++; } while(start<=end &&str.charAt(end)==' '){ end--; } String strimStr = str.substring(start,end+1); return strimStr; }
2.对字符串进行反转,例如“abcdefg”,反转成为“abfedcg”
package www.shangguigu.java.exer; import org.junit.Test; /* 练习二:将一个字符串进行反转。将字符串的一部分进行反转,比如讲“abcdefg"反转为”abfedcg". 练习三: */ public class StringDemo { @Test public void test2(){ String str = "abcdefg"; String revStr1 = StringDemo.reverseString1(str, 2, 5); System.out.println(revStr1); String revStr2 = StringDemo.reverseString2(str, 2, 5); System.out.println(revStr2); } //练习二:方法一:使用截取字符串的方式 public static String reverseString1(String str,int start,int end){ String str1 = str.substring(0,start); String str2 = str.substring(end+1); for(int i=end;i>=start;i--){ char c = str.charAt(i); str1 += c; } str1 += str2; return str1; } //练习二:方法二:通过将字符串转发成字符数组,在进行反转操作,最后在将字符数组转换成字符串 public static String reverseString2(String str,int start ,int end){ char [] strArray = str.toCharArray(); return reverseCharArray(strArray,start,end); } public static String reverseCharArray(char[] strArray,int start,int end){ for(int i=start,j=end;i<end;i++,j--){ char temp = strArray[i]; strArray[i] = strArray[j]; strArray[j] = temp; } return new String(strArray); }
3.获取一个字符串在另一个在字符串中出现的次数。例如:
:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数
package www.shangguigu.java.exer; import org.junit.Test; /* 练习三:获取一个字符串在另一个字符串中出现的次数。 比如:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数 */ public class StringDemo { @Test public void test3(){ String str1 = "abcab3fabkkkabddcadl"; String str2 = "ab"; int count = StringDemo.getTime(str1, str2); System.out.println(count); } //练习3:获取一个字符串在另一个字符串中出现的次数。获取str2在str1中出现的次数 public static int getTime(String str1,String str2){ int count = 0; int len; while((len=str1.indexOf(str2))!=-1){ //str1.indexof(str2) 判断str2在str1中首次出现的位置 count++; str1 = str1.substring(len + str2.length()); } return count; }