public class NumberUtil {
public void isPrime(int number){
int i = 0;
int j = 0;
for(i=3;i<=number;i++){//外层循环:负责找到i到number之间的每一个数
for(j=2;j<i;j++){//内层循环:判断"这个数"是否为素数
if(i % j == 0){//如果有"一个数"可以被"这个数"整除,则跳出内层循环
break;//跳出这个循环,执行下面语句
}
}
if(j==i){//如果"这个数"就是本身,则为素数
System.out.println(i+"是素数");
}
}
}
}
//测试类
public class NumberUtilTest {
public static void main(String[] args){
NumberUtil n = new NumberUtil();
n.isPrime(50);
}
}
就是利用双层循环,外层循环控制所查范围之间遍历每个数,内层循环判断这个数是否为素数,如果 i 跟 j 能整除,则跳出内层循环,基于素数标准只能被1和它本身整除,j跟i判断相等,相等则为素数,大致就是先判断能否整除,如果能整除判断是否可以是它本身,如果是它本身则是素数,否则接着回到外层循环。
本人也才刚学java,自己的思路也是比较乱,原来用C做过这个,结果换了个语言,又开始迷糊了,请见谅,记录一下自己的java之路。
474

被折叠的 条评论
为什么被折叠?



