亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串排序器返回退出代碼 0 而不是字符串

字符串排序器返回退出代碼 0 而不是字符串

忽然笑 2022-01-12 13:55:31
我正在嘗試制作一個字符串排序器,它接受用戶輸入并將其按字母順序排列。我的代碼如下所示:public class StringSorter {    public static void main(String[] argv) 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;        }        int comparison = (stringsToSort[0].compareToIgnoreCase(stringsToSort[1]));        if (stringsToSort[0].compareToIgnoreCase(stringsToSort[1]) < 0) {            System.out.println("Alphabetical Order: " + Integer.toString(comparison));        }    }}如何讓它打印字符串而不是“退出代碼 0”?我忘了補充說我不能使用 java.util.Arrays 或 java.util.Vector 來完成這個任務
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

現在您正在打印比較的結果而不是字符串,并且您只對前兩個字符串進行排序。


你Array.sort()先打電話,然后打印數組。替換您的比較并打印


Arrays.sort(stringsToSort);


for (String string : stringsToSort) {

    System.out.println(string);

}


查看完整回答
反對 回復 2022-01-12
?
www說

TA貢獻1775條經驗 獲得超8個贊

代碼將打印 1,如果第一個字符串按字母順序小于第二個字符串,否則它將不執行任何操作并返回 0 退出代碼。如果您打算打印數組,則應使用 for 循環對數組元素進行迭代并打印該元素。

要對數組進行排序,您可以使用任何排序算法。選擇排序是最容易理解的。以下是對字符串數組進行排序的鏈接。 http://web.cs.iastate.edu/~smkautz/cs227f12/examples/week11/SelectionSortExamples.java


查看完整回答
反對 回復 2022-01-12
?
SMILET

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]);

        }

    }


}



查看完整回答
反對 回復 2022-01-12
  • 3 回答
  • 0 關注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號