私はScannerクラスを使用して入力を取得しています。in.next()を使用して、1行のすべての単語を取得しようとしています。nextLine()を使用して実行できることは知っていますが、in.next()とin.hasNext()がどのように機能するかを理解したいと思います。
System.out.println("What is designation");
String desg = in.next();
while(in.hasNext()){
desg+=in.next();
}
として出す
What is designation
member technical staff\n
^Z
Hello abhishek kumarNext year you will be 22Salary is 30000.0Designation is membertechnicalstaff
しかし、私が使用する場合
System.out.println("What is designation");
String desg = in.next();
if(in.hasNext()){
desg+=in.next();
}
それは次のように出力を与えます
What is designation
member technical staff
Hello abhishek kumarNext year you will be 22Salary is 44254.0Designation is membertechnical
最初のケースでは、すべての単語を取得していますが、次の入力を要求し続け、CTRL+Zを使用して入力の終了を指定する必要があります。しかし、2番目のケースでは、最後の単語(スタッフ)を取得していません。説明してください。