如何终止java.util.Scanner?Linux终端运行Java代码输入异常求助
解决Linux终端中Java程序输入无法终止的问题
问题原因
你的Maximizer程序逻辑是先读取一个整数n,接着要循环读取n个数字来找出最大值。如果输入的数字数量没达到n,程序会一直卡在输入等待状态,不会执行后续的计算和输出。
终止输入的方法
在Linux终端里,你可以用以下两种方式处理:
- 按下
Ctrl + D:给程序发送EOF(文件结束)信号,Scanner会识别输入结束。不过如果此时还没读够n个数字,程序会抛出NoSuchElementException后终止。 - 按下
Ctrl + C:直接强制中断程序进程,不管输入状态如何,都会立刻停止程序运行。
正确运行程序的方式
要让程序正常执行,你需要先输入n的值,再输入n个数字(数字可以在同一行或多行输入,Scanner会自动识别整数),比如:
3 10 25 7
输入完第n个数字后按回车,程序就会计算并输出最大值。
内容的提问来源于stack exchange,提问作者happy day
相关产品推荐
相关产品推荐

