String方法取字元出現次數和字元最大相同
阿新 • • 發佈:2019-01-28
class Test { public static void main(String[] args) { String str = "dasdalldsdslldsdszxll"; System.out.println("count="+get(str,"ll"));//列印ll出現的次數 String s1 = "asdhellovdvdvv"; String s2 = "cvfhelloff"; System.out.println("temp="+gett(s1,s2));//列印兩個字串最大相同的部分 } /* public static int get(String str,String key) { int count = 0; int index = 0;//定義一個位置 while((index = str.indexOf(key))!=-1)//直到取不到需要的字元結束迴圈 { str = str.substring(index + key.length());//字串長度變化獲得新的字串 count++; } return count; } */ //第二種方法,大同小異 public static int get(String str,String key) { int count = 0; int index = 0; while((index = str.indexOf(key,index))!=-1) { index = index + key.length(); count ++; } return count; } public static String gett(String s1,String s2) { String max = ""; String min = ""; max = s1.length() > s2.length()?s1:s2; min = max == s1?s2:s1;//取短的字串比較節省記憶體 for(int x = 0;x < min.length();x++) { for(int y = 0,z = min.length() -x;z!=min.length()+1;y++,z++) { String temp = min.substring(y,z); if(max.contains(temp)) return temp; } } return ""; } }