? ? ? ? 如果不趕緊寫寫就真的忘了,廢話少說,開始:
? ? ? ? 需求:從鍵盤輸入多個整數,輸入“quit”代表結束輸入,把所有輸入的整數倒序排列。? ?
? ? ? ? 分析:
? ? ? ? 1.從鍵盤輸入多個整數:首先,“多個整數”,也就是不確定有多少條元素,所以我們用集合(記得Ctrl+O導包)。
? ? ? ? 新建了一個集合后,出現了報錯,當鼠標放在錯誤的地方,會提示出現Add unimplemented methods來添加未實現的方法,我們點擊它。
? ? ? ? ? 錯誤解除。
? ? ? ? 2.提示用戶輸入數字,以“quit”結束,用Scanner方法監聽用戶鍵盤輸入;
? ? ? ? 3.不確定有多少元素,用一個while死循環,隨后通過一個if函數來判斷用戶輸入的是否是“quit”,是則跳出循環,否則把字符串轉換成Integer類型,并添加到set集合中;
? ? ? ? 4.輸出set集合;
? ? ? ? 你以為這樣就完了?我們先來看一下結果:
? ? ? ? 咦?怎么回事?怎么只有一個數字?我們往上翻下代碼,原來問題在這里:
? ? ? ? 這里需要說明一下:這個比較器默認“return 0;”,“return 0;”則代表只返回一個數;而“return 正數;”則代表正序輸出;“return 負數;”則代表倒序輸出。不信我們來看看:
? ? ? ? “return 1;” 情況:
? ? ? ? “return -1;” 情況:
? ? ? ? 5.綜上所述,要想把所有輸入的數倒序排列,我們將比較器的返回值改成-1即可。
? ? ? ? 以下是完整代碼:
? ? ? ? 結語:感謝您百忙之中閱讀本篇文章,文章中如有錯誤的地方,歡迎批評指正,感謝!