我正在使用 Scanner 类来获取输入。我正在尝试使用 in.next() 将所有单词放在一行中。我知道可以使用 nextLine() 来完成,但我想了解 in.next() 和 in.hasNext() 的工作原理。
System.out.println("What is designation");
String desg = in.next();
while(in.hasNext()){
desg+=in.next();
}
给出 put 作为
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 指定输入结束。但在第二种情况下,我没有得到最后一句话(员工)。请解释。