【发布时间】:2020-09-27 01:09:28
【问题描述】:
我在解决以下问题时遇到了麻烦:我想让用户输入一个数字并检查它是否是一个幸运数字。幸运数字是偶数位(从第二位开始)的平方和是 7 的倍数。
以下是我的代码示例,当我运行程序时它会卡在用户输入上,请告诉我如何让它运行:
public class Tester {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Input a number: ");
int number = scanner.nextInt();
int count = 0;
while(number!=0) {
number/=10;
++count;
}
int[] array = new int[count];
int sum = 0;
for (int i=0; i<count; i++) {
array[i] = scanner.nextInt();
}
for (int i=0; i<count; i++) {
if(array[i]%2==0) {
sum+=(array[i]*array[i]);
}
else {
continue;
}
}
if (sum%7==0) {
System.out.println("The number: " +number+ "is a Lucky number");
}
else {
System.out.println("Oops! Not a Lucky number");
}
scanner.close();
}
}
【问题讨论】:
-
这里发生了什么:
array[i] = scanner.nextInt();大多数幸运数字问题要求一个数字,但您似乎要求除此之外的其他用户输入(可能是无意的),这就是您的程序出现的原因得到“卡住”。 -
你向程序传递了什么输入?
-
你需要甚至定位的数字吗?