Java-在扫描ArrayList中的整数时,有没有办法在不提供无效输入的情况下中断while循环?
只有当我给出一些非整数输入时,while循环才会中断。我想要的是用空白输入打破它(只需在没有任何输入的情况下点击“回车”)Java-在扫描ArrayList中的整数时,有没有办法在不提供无效输入的情况下中断while循环?,java,arraylist,Java,Arraylist,只有当我给出一些非整数输入时,while循环才会中断。我想要的是用空白输入打破它(只需在没有任何输入的情况下点击“回车”) import java.util.ArrayList; 导入java.util.Scanner; 公共类单元素{ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); ArrayList=新建ArrayList(); int in=(整数)null; 而(scan.hasNextInt()){ 添加(scan.nextInt())
import java.util.ArrayList;
导入java.util.Scanner;
公共类单元素{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
ArrayList=新建ArrayList();
int in=(整数)null;
而(scan.hasNextInt()){
添加(scan.nextInt());
}
}
}
谢谢 不太可能
该程序有一个硬编码的期望,即只查找传入号码的列表
所以你必须定义一个特殊的数字来表示:停止循环
为了便于控制,您可以从扫描仪读取原始字符串。然后,任何非数字表示:停止循环 不太可能
该程序有一个硬编码的期望,即只查找传入号码的列表
所以你必须定义一个特殊的数字来表示:停止循环
为了便于控制,您可以从扫描仪读取原始字符串。然后,任何非数字表示:停止循环 您应该将输入解析为
字符串
,然后通过try/catch
中的代码将其转换为int
。如果在将字符串
转换为int
时出现异常,您知道您得到了一个非整数,并且可以从此处中断while循环。您应该将输入解析为字符串
,然后通过try/catch
中的代码将其转换为int
。如果您在将字符串
转换为int
时遇到异常,您就知道您得到了一个非整数,并且可以从此处中断while循环。突然想到两个选项,一个哨兵值(可能是-1
),或者在Windows上用ctrl-d
(或ctrl-z
)关闭流。突然想到两个选项,哨兵值(可能是-1
)或使用ctrl-d
(或Windows上的ctrl-z
)关闭流。
import java.util.ArrayList;
import java.util.Scanner;
public class SingleElement {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<Integer>();
int in = (Integer) null;
while(scan.hasNextInt()){
list.add(scan.nextInt());
}
}
}