【发布时间】:2018-12-09 17:59:26
【问题描述】:
我需要输入到数组中的值是 1-100 而不是任何字母。我试图设置一个临时值,该值将捕获之前不是 1-100 但似乎无法使其工作的数字。如果输入字母,我会遇到程序将关闭的问题。任何帮助将不胜感激。
public class FocusGroup {
static Scanner scan = new Scanner(System.in);
public static void main(String args[]) {
double tempValue = scan.nextDouble();
if (tempValue > 100 || tempValue < 0) {
scan.nextDouble();
System.out.println("Invalid");
} else {
while (true) {
try {
double sumFocus = 0;
double[] arrayFocus = new double[2];
for (int i = 0; i < 2; i++) {
arrayFocus[i] = scan.nextDouble();
}
for (double num : arrayFocus) {
sumFocus = sumFocus + num;
}
}
catch (InputMismatchException e) {
System.out.println("Invalid input");
scan.nextLine();
}
}
}
}
}
【问题讨论】:
-
最好创建一个附加方法,在无限循环中获取输入并在输入有效时返回。
-
我不知道该怎么做...请您详细说明一下吗?
-
您已经创建了一个无限循环 (
while(true))。只需再次执行此操作并在其中输入,检查它是否有效return。如果您不想要其他方法,您也可以break退出循环。
标签: java if-statement