我有以下代码:
Scanner inputSide = new Scanner(System.in);
double side[] = new double[3];
int i = 0;
do{
try{
System.out.println("Enter three side lengths for a triangle (each followed by pressing enter):");
side[i] = inputSide.nextDouble();
i++;
}
catch(Exception wrongType){
System.err.println(wrongType);
System.out.println("Please enter a number. Start again!!");
i=0;
}
}
while(i<3);
如果我没有输入错误的数据类型,它可以正常工作并且执行它的含义,但是如果我输入的不是双精度类型,那么它会一遍又一遍地循环,在 try 和 catch 块中打印所有内容,而不是等待我输入另一个双。
关于它为什么这样做的任何帮助 - 因为我似乎无法理解为什么 - 将不胜感激。
谢谢 :)