高分悬赏,Java语言实现字符串的排序,怎么写这个程序,运用数组来实现,懂的人来回答 5C

高分悬赏,Java语言实现字符串的排序,怎么写这个程序,运用数组来实现,懂的人来回答

2个回答

数字字符串排序和数组
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");
}

}

import java.util.*;

public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
List lists = new ArrayList();
for (int i = 0; i <= t; i++)
{
lists.add(cin.nextLine());
}
Collections.sort(lists);
for (String li : lists)
{
System.out.println(li);
}
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问