Я пишу программу, которая принимает в качестве значения целое число и выводит сообщение о том, является ли введенное целое простым или нет. Алгоритм Я использую выглядит следующим образом ... Требуется: п> 0, Требуется: IsPrime < - правда, для я = 2 к SQRT (п) сделать, если п% г = 0 затем isPrime < - false конец, если и конец для Затем напечатайте, является ли число Prime или нет. Вот мой код до сих пор, код не работает, и я не могу найти проблему.Определение простых чисел Java
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n;
System.out.println("Input a positive integer");
n = kb.nextInt();
while (n>0){
boolean isPrime = true;
for (int i =2; i <= n/2;i++){
if(n % i == 0){
isPrime = false;
break;
}
}
if (isPrime = true){
System.out.println("The integer, " + n + ", is a prime");
break;
}
else{
System.out.println("The integer, " + n + ", is not a prime");
break;
}
}
}
}
Я был бы признателен, если сможет помочь, спасибо!
Это не работает? Каким образом он «не работает»? Пожалуйста! Дайте нам ключ! –
Вы понимаете, что 'isPrime = true' - это назначение, а не сравнение? –
Вы можете сделать это быстрее, опуская все четные числа, кроме 2. http://www.mkyong.com/java/how-to-determine-a-prime-number-in-java/ – spuder