我很难理解在这种情况下for循环的目的是什么。它从2开始并重复直到我们输入的数字。然后它检查a / b的提醒是否为0,如果是,则“primeNumber == false”。之后它存在if句子并检查其他句子。这就是我理解这个程序的方式,如果我是对的,为什么程序显示2是一个素数,如果2/2 = 1,因此提醒= 0。 谢谢
package prime;
import java.util.Scanner;
public class primetime {
public static void main (String [] agrs){
Scanner input = new Scanner (System.in);
System.out.print("Enter a number: ");
int a = input.nextInt();
boolean primeNumber = true;
for ( int b = 2; b < a; b++){
int z = a%b;
if (z == 0){
primeNumber = false;
break;
}
}
if (primeNumber == true){
System.out.println("PrimZahl");
}
else{
System.out.println("keine PrimZahl");
}
}
}
答案 0 :(得分:3)
为什么程序显示2是一个素数,如果2/2 = 1,因此提醒= 0
如果a==2
,则永远不会输入循环,因为b < a
永远不会为真(因为b
初始化为2而2 < 2
为false)。因此,primeNumber
仍然是true
,因为它应该是,因为2是素数。