首页 > 代码库 > String类的练习
String类的练习
//1.模拟一个trim方法,去除字符串两端的空格。 public String MyTrim(String str){ int beginIndex = 0; int endIndex = 0; String newstr; for(int i=0;i<str.length();i++){ //char c = str.charAt(i); // if((String.valueOf(c)) != " "){ if(str.charAt(i)!= ‘ ‘){ //注意 ‘ ‘为char型," "为String型 beginIndex = i; break; } } for(int i=str.length()-1;i>=0;i--){ if(str.charAt(i)!= ‘ ‘){ endIndex = i; break; } } newstr = str.substring(beginIndex, endIndex+1); return newstr; }
//2.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg” public String reverseString(String str,int begin,int end){ char[] c = str.toCharArray(); return reverseChar(c,begin,end); } public String reverseChar(char[] c,int begin,int end){ for(int x=begin,y=end;x<y;x++,y--){ char num = c[x]; c[x] = c[y]; c[y] = num; } return new String(c); }
/*3 获取一个字符串在另一个字符串中出现的次数。比如:获取“ ab”在 “abkkcadkabkebfkabkskab” 中出现的次数*/public int countStr(String str1,String str2){ int i; int count = 0; while((i= str2.indexOf(str1))!=-1){ //优化代码 count++; str2 = str2.substring(i+str1.length()); } return count; }
/* *4 获取两个字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodef“;str2 = "cvthellobnm" 提示:将短的那个串进行长度依次递减的子串与较长 的串比较。 */public List<String> getSubString(String s1,String s2){ String minstr = (s1.length()<s2.length())?s1:s2; String maxstr = (s1.length()>s2.length())?s1:s2; List<String> list = new ArrayList(); for(int t=0;t<minstr.length();t++){ for(int i=0,j=minstr.length()-1-t;i<j&&j<minstr.length();i++,j++){ String minsp = minstr.substring(i, j); if(maxstr.contains(minsp)){ list.add(minsp); } } if(list.size()!= 0){ return list; } } return null;}
/* * 5.对字符串中字符进行自然顺序排序。提示:1)字符串变成字符数组。2)对数组排序,选择,冒泡,Arrays.sort();3)将排序后的数组变成字符串。 */public String toArrays(String s){ char[] c = s.toCharArray(); Arrays.sort(c); //return new String(c); return String.valueOf(c); }
String类的练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。