public class JavaP3 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
for (int n = 1; n < 1001; ++n) {
boolean red = isPrime(n);
if (red = true) {
System.out.println("Prime #" + "\t" + n);
}
}
}
public static boolean isPrime(int num) {
if (num == 1 || num == 2) {
return true;
}
if (num % 2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
Кажется, что он должен работать, поскольку это очень простой цикл. Предполагается распечатать все простые числа между 1-1000, используя метод isPrime
. Есть ли что-то очевидное, которого я пропускаю, что-то не так с циклом for или что-то не так с размещением основного метода?Java Prime Number для отказа петли
Ваша за петли скучаю g '{}'. –
Это 'if (red = true) {' присваивание (а не тест равенства). Попробуйте 'if (red == true) {' ** или ** 'if (red) {' –
'1' не является простым. '=' не '==' (и вам не нужно '==' в любом случае). – dasblinkenlight