У меня возникают проблемы с решением следующего вопроса: я полагаю, что пользователь должен ввести число и проверить, является ли это счастливым числом. Счастливое число — это сумма квадратов четной цифры (начиная со второй позиции), кратной 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();
В большинстве проблем со счастливыми числами требуется одно число, но вы, похоже, запрашиваете дополнительные действия пользователя помимо этого (вероятно, непреднамеренно), поэтому ваша программа зависает. - person MarsAtomic   schedule 27.09.2020