闲来没事,写一个经典的java题目,求素数。
以为很简单,其实不然。
public class SuShu {
public static void main(String[] args) {
int i, j;
for (i = 1; i <= 100; i++) {
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
break;
}
}
if (j > i / 2) {
System.out.println("素数:" + i);
}
}
}
}
容易出错的地方:
1、循环j的时候 如果是j<i/2 会有不同结果
2、if(j>i/2)也应放在遍历 j 之外 所以要把 j 定义为全局变量