Разница между проблемой, с которой я столкнулся, и каждым ответом, который я получил на данный момент, заключается в том, что я пытаюсь заставить код печатать, сколько цифр является простым, а не сколько простых чисел в исходном числе. Например, если пользователь вводит 567, мне нужно проверить 5, 6 и 7 и сказать, сколько простых чисел.
В любом случае - я пытаюсь заставить этот код вывести на печать количество простых цифр в числе пользователь входит. Когда я запускаю его, он печатает число имеет (число) простых чисел. но он обычно печатает неправильный номер каждый раз, когда я запускаю его. Я думаю, что если я просто переключу некоторые переменные на другую, то будет хорошо go, но я не могу понять, какие из них мне нужно изменить. + edit: я почти уверен, что мне нужно каждый раз менять значение theNum
, но я не уверен, как мне это сделать. Я попытался изменить x++
на theNum%10
, но там говорилось, что х нужно увеличить. Кстати, я делаю theNum%10
, потому что мне нужно проверить каждый ди git из theNum
в отдельности.
int choice = 3, theNum, copy, x, y, counter, even, odd, zero;
System.out.print("Please enter a positive number ");
theNum = Integer.parseInt(kb.nextLine());
case 3:
// using nested for loops print the prime numbers
counter = 0;
for (x = 1; x <= theNum; x++) {
for (x = 2; x <= theNum; x++) {
if (theNum % 10 % x == 0) counter++;
}
}
System.out.print("The number has " + counter + " prime numbers.");
break;