3 回答

TA貢獻1853條經驗 獲得超6個贊
現在您正在打印比較的結果而不是字符串,并且您只對前兩個字符串進行排序。
你Array.sort()先打電話,然后打印數組。替換您的比較并打印
Arrays.sort(stringsToSort);
for (String string : stringsToSort) {
System.out.println(string);
}

TA貢獻1775條經驗 獲得超8個贊
代碼將打印 1,如果第一個字符串按字母順序小于第二個字符串,否則它將不執行任何操作并返回 0 退出代碼。如果您打算打印數組,則應使用 for 循環對數組元素進行迭代并打印該元素。
要對數組進行排序,您可以使用任何排序算法。選擇排序是最容易理解的。以下是對字符串數組進行排序的鏈接。 http://web.cs.iastate.edu/~smkautz/cs227f12/examples/week11/SelectionSortExamples.java

TA貢獻1796條經驗 獲得超4個贊
您可以使用這樣的自定義排序,
public class A {
public static void main(String[] args) throws IOException {
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in), 1);
System.out.println("How many strings do you want to sort?");
int numStrings = Integer.parseInt(stdin.readLine());
System.out.println("Input Strings Here:");
String[] stringsToSort = new String[numStrings];
for (int i = 0; i < numStrings; i++) {
String s = stdin.readLine();
stringsToSort[i] = s;
}
Arrays.sort(stringsToSort, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
for (int i = 0; i < stringsToSort.length; i++) {
System.out.println(stringsToSort[i]);
}
}
}
添加回答
舉報