class Main {
public static void main(String[] args) {
for(int m=2;m<=100;m++){
for(int a=2;a<m;a++){
if(m%a==0){
break;
} //9%3 不是等于0吗,怎么9还是被打印出来了。
System.out.print(m);
}
}
}
}
class Main {
public static void main(String[] args) {
for(int m=2;m<=100;m++){
for(int a=2;a<m;a++){
if(m%a==0){
break;
} //9%3 不是等于0吗,怎么9还是被打印出来了。
System.out.print(m);
}
}
}
}
因为当m=9,a=2的时候,m % a是等于1的,此时就会打印出m的值,m=9
执行内层循环a++,此时,m=9,a=3。
这时候,m%a==0 是满足条件的,所以此时就跳出内层循环。
如果你是想求2~100之间的质数:可以这样修改
package com.csdn;
public class Main {
public static void main(String[] args) {
for (int m = 2; m <= 100; m++) {
boolean flag = true;
for (int a = 2; a < m; a++) {
if (m % a == 0) {
flag = false;
break;
}
}
if (flag) {
System.out.print(m + " ");
}
}
}
}