质数的定义:在除了1以外的自然数中,如果这个数在1和本身外没有别的因数,他就是质数。
那我们来求解100以内的质数
思路:定义里说的没有别的因数,也可以理解为对任何数(1和本身除外)取余都不为零,那就是说只要取余为零,循环直接break,进行下一个数的判断。ok,上代码!
public static void main(String[] args) {
try {
int target = Integer.parseInt(args[0])+1;
List<Integer> list = new ArrayList<Integer>();
for (int i = 2; i < target; i++) {
boolean flag = false;
for (int j = 2; j < i+1; j++) {
if(i%j==0 && i!=j){
flag = false;
break;
}else{
flag = true;
}
}
if(flag)
list.add(i);
}
System.out.println(list);
} catch (Exception e) {
System.out.println("数字有误");
}
}