【发布时间】:2020-01-25 07:00:48
【问题描述】:
我是新手,我不知道如何打破循环。
``````````Java```````````
public static void main(String[] args) {
Scanner input= new Scanner (System.in) ;
System.out.println("Enter number list:");
try {
String data = input.nextLine();
ArrayList<Integer> myArray = new ArrayList<Integer>();
int num;
while (true){
num = Integer.parseInt(data);
myArray.add(num);}
}
catch (NumberFormatException e) {
e.printStackTrace();}
【问题讨论】:
-
循环何时必须停止?
-
那是不可能的。如果
NumberFormatException触发,它将被捕获。您的问题是while (true)循环,如果第一个输入有效,它将永远不会停止。 -
NumberFormatException可能已被捕获,但您在catch块中什么都不做,从而隐藏了这一点。把System.err.println("NumberFormatException");或e.printStackTrace();放在那里,至少... -
旁注:不要使用空的 catch 块。至少记录异常。
e.printStacktrace();在大多数情况下,while(true)不是您想要的。添加退出条件。 -
当您发布代码时,您应该正确地使用代码以获得更好的可读性。
标签: java exception arraylist input try-catch