Pakettext;
import java.util.Scanner;
öffentlicher Klassentest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x;
x = in.nextInt();
boolean isprime = true;
for (int i = 2; i <= x; i++) {
for(int j = 2; j < i; j++) {
if(i % j == 0) {
isprime = false;
break;
}
}
if(isprime) System.out.print(i + " ");
isprime = true; //这里为什么一定要重新赋值true?不赋值为什么没有运行结果?
}
}
}
isprime 变量你可以看成是一个标志,程序中是根据isprime的最后取值来决定是否打印i.至于你问的为什么重新赋值,这是为了下一轮的循环做准备呀。倘若不初始化isprime的值为true,之后即便i为素数也无法打印i。