請原諒我的格式錯誤,因爲我在這裏很新。 我有一個Java任務,在這個任務中,我必須找到字典中最低的單詞,它大於掃描器給定的單詞,而不會將字符串按字典順序排列。在這個例子中,給定的單詞是「am」。我已經寫了下面的代碼,但我有問題,我會在這個問題的最後解釋。Java - 按字典順序查找下一個詞
public static void main (String[] args){
Scanner s = new Scanner("I am very happy with life");
String high = "";
String o = "am";
String curr = "";
while (s.hasNext()){
curr = s.next();
if (curr.compareTo(high) > 0)
high = curr;
}
Scanner ss = new Scanner("I am very happy with life");
while (ss.hasNext()){
curr = ss.next();
if (curr.compareTo(high) < 0 && curr.compareTo(o) > 0)
high = curr;
}
System.out.println(high);
}}
我的問題是: 我不得不寫,做計算,而不是在主程序的方法。此外,我必須使用掃描儀一次,並且無法使用相同的值初始化另一臺掃描儀。
此代碼工作正常,但我有最難的時候將其轉換爲單一的功能循環方法。
PS。對不起,愚蠢的var名稱。
請注意,您只需從掃描儀中取一次字即可。如果我正確地理解了這個問題,那麼您正在尋找大於給定單詞的詞典最低單詞。這可以在一個循環中完成。 – Henry
這正是我應該做的。然而,我正在經歷最困難的時期,寫一個功能循環。 – JungleJeem
我儘量不要放棄完整的解決方案,因爲如果你自己發現它,你會學到更多。讓我用不同的方式來說明:在所有比所給單詞更大的單詞中,你正在尋找最小的單詞。 – Henry