我正在尝试获取用户输入(整数),直到她进入'结束'(字符串)。我正在尝试以下代码,但它只存储在数组中输入的备用数字。请建议。
Scanner sc = new Scanner(System.in);
List<Integer> al = new ArrayList<Integer>();
System.out.println("Enter 'end' to stop input");
while(!sc.next().equals("end")){
if(sc.hasNextInt()){
al.add(Integer.valueOf(sc.nextInt()));
}
}
sc.close();
答案 0 :(得分:0)
我认为这是一个“功课”问题。
当您致电sc.next()
时,您正在使用代币。这就是为什么你只看到一半的数字。
你的程序需要的关键部分的逻辑是这样的:
is the next token an integer?
yes - read it as an integer
no - read it as a string, test if it is "end" and decide what to do next