高分悬赏,Java语言实现字符串的排序,怎么写这个程序,运用数组来实现,懂的人来回答
2条回答 默认 最新
- 山上农夫 2019-12-06 10:06关注
数字字符串排序和数组
public class StringDateSort {
public static void main(String[] args) {
String numString="23 10 -8 0 3 7 108";
String sortStr=sortNumberString(numString);
System.out.println("排序的结果是"+sortStr);
}private static String sortNumberString(String numString) { //1.将给定的字符串分解成多个数字格式字符串 String[] numStrings=toStringArray(numString); //2.将字符串数组转成int数组 int[] nums=toIntArray(numStrings); //3.对数组排序 sort(nums); //4.将int数组转成字符串 return toString(nums); } private static String toString(int[] nums) { StringBuffer stringBuffer=new StringBuffer(); for (int i = 0; i < nums.length; i++) { if (i!=nums.length-1) { stringBuffer.append(nums[i]+"<"); }else{ stringBuffer.append(nums[i]); } } return stringBuffer.toString(); } private static void sort(int[] nums) { Arrays.sort(nums); } private static int[] toIntArray(String[] numStrings) { int[] nums=new int[numStrings.length]; for (int i = 0; i < numStrings.length; i++) { String s=numStrings[i]; nums[i]=Integer.parseInt(s); } return nums; } private static String[] toStringArray(String numString) { String[] numberStr=numString.split(" "); for (int i = 0; i < numberStr.length; i++) { System.out.println("抽出数字"+numberStr[i]); } return numberStr; }
英文字符串排序
public class Main {public static void main(String[] args) { String str1 = "abc"; System.out.println(str1.substring(2)); String str = "holle world"; //倒序输出的4种方式 reverseString1(str); reverseString2(str); reverseString3(str); reverseStringMy(str); } /* * 利用String类的toCharArray(),再倒序输出数组的方法 */ private static void reverseString1(String str) { char[] chr = str.toCharArray(); for (int i = chr.length-1 ; i >= 0; i--) { System.out.print(chr[i]); } System.out.println("\t"); } /* * 利用String类提供的subString()方法,利用递归的办法输出倒序字符串。 */ private static void reverseString2(String str) { if (str.length() == 1) System.out.println(str); else { String subString1 = str.substring(0, str.length() - 1); String subString2 = str.substring(str.length() - 1); System.out.print(subString2); reverseString2(subString1); } } /* * 定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。 */ private static void reverseString3(String str) { StringBuffer buffer = new StringBuffer(str); System.out.println(buffer.reverse()); } /* * 利用subString()方法,只不过循环输出 */ private static void reverseStringMy(String str) { StringBuffer a = new StringBuffer(); String subString2 = ""; for (int i = str.length(); i > 0; i--) { subString2 = str.substring(i - 1, i); a.append(subString2); } System.out.print("My:" + a); System.out.println("\t"); }
}
解决 无用评论 打赏 举报