package batman;
public class bat1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean isPrime=true;
for(int a=2;a<=100;a++) {
for(int i=2;i<=a;i++) {
if(a%i==0)
{
isPrime=false;
break;
}
}
if(isPrime) {
System.out.println(a+"true");
}else {
System.out.println(a+"false");
}
}
}
}
正确的写法应该是下面这样,你的写法存在两个问题:
1、素数标志没有重置,应该每次循环的都是都先重置为true;
2、你的判断应该是<,而不是<=,因为自然数除以自身的余数肯定是0。
如有帮助,还望采纳
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int a = 2; a <= 100; a++) {
boolean isPrime = true;
for (int i = 2; i < a; i++) {
if (a % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(a + "true");
} else {
System.out.println(a + "false");
}
}
}