提问人:sss lll 提问时间:11/25/2022 最后编辑:Mark Rotteveelsss lll 更新时间:11/25/2022 访问量:24
当 while(sc.hasNextLine()) 遇到 EOF 时
when while(sc.hasNextLine()) encounter EOF
问:
这是程序:
package IOReview;
import java.util.Scanner;
import static java.lang.Thread.sleep;
public class ThreadTest {
public static void main(String[] args) {
new Thread(() -> {
while (true){
Scanner sc = new Scanner(System.in);
StringBuilder builder = new StringBuilder();
System.out.println("Please Input the text you want:");
try {
sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//The while loop below will only execute once,the rest of the program will keep running;
while (sc.hasNextLine()) {
builder.append(sc.nextLine());
}
System.out.println(builder.toString());
}
}).start();
}
}
第二个while循环只会执行一次,当我输入+终止sc.hasNextLine();CtrlD
我想知道为什么 sc.hasNextLine 只会执行一次,但是当我在 IDEA 终端中输入 + 时,程序的其余部分将继续运行。CtrlD
答: 暂无答案
评论
while (true)
sc.hasNextLine()