私はここで非常に新しいので、フォーマットの間違いをお許しください。Java の割り当てがあります。この割り当てでは、文字列を辞書順に配置せずに、スキャナーから指定された単語よりも大きい辞書編集の最下位の単語を見つける必要があります。この例では、与えられた単語は「am」です。以下のコードを書きましたが、この質問の最後で説明する問題があります。
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 名で申し訳ありません。