字符串API练习三则
(1)按照Ascii码字典的顺序排列字符串。核心API:int compareTo(String),若大于则返回1,小于返回-1,等于返回0。
class StringArray { static void sort(String[] array) { for(int i = 0;i<array.length;i++) //BubbleSort for(int j=0;j<array.length-i-1;j++) { if(array[j].compareTo(array[j+1])>0) { String temp = array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } } public class AsciiSort { public static void main(String[] args) { String[] array = {"aa","cc","bb","dddddd","jkaka","haha"}; StringArray.sort(array); for(int i=0;i<array.length;i++) System.out.println(array[i]); } }
(2)判断子串在一个字符串中出现的次数。核心API:int indexOf()
/*判断子串在一个字符串中出现的次数*/ class CountNumber { static int CountNum(String str1,String str2) { int count = 0; int index = 0; while(str1.indexOf(str2,index) != -1) { index = str1.indexOf(str2,index) + str2.length(); count++; } return count; } } public class AppearNum { public static void main(String[] args) { String str1 = args[0]; String str2 = args[1]; int i = CountNumber.CountNum(str1,str2); System.out.println(i); } }
(3)查找一个字符串在另一个字符串中的最大字串。
class SubString { static String lSubString(String str1,String str2) { for(int i=0;i<str2.length();i++) { for(int start=0,end=str2.length()-i;end != str1.length()+1;start++,end--) { if(str1.contains(str2.substring(start,end))) { return str2.substring(start,end); } } } return "xx"; } } public class LongestSubString { public static void main(String[] args) { String str1 = args[0]; String str2 = args[1]; String con = SubString.lSubString(str1,str2); System.out.println(con); } }
浙公网安备 33010602011771号