2 moljoker Moljoker 于 2016.09.10 20:20 提问

求改正 求100以内素数 JAVA 语言

public class SUHSU {
public static void main(String[] args)
{
int i=0;
int j=0;
for (i=2;i<100;i++)
{
for (j=1;j<=i;j++)
if (i%j==0)
if (j==1)
System.out.println(i);
}
}
}

3个回答

zhuzige521888
zhuzige521888   2016.09.10 20:42

1、首先说说你的程序,j=1的时候肯定所有数都会走进if (i%j==0) ,也能走进System.out.println(i);所以你的程序无法实现预想功能!
2、看看下面的代码添加一个count来统计他的除数个数,如果除数只有1和他本身那么count就等于2,然后他就是要得到的数字。
public static void main(String[] args){
int i=0;
int j=0;
int count=0;
for (i=2;i<100;i++)
{
count=0;
for (j=1;j<=i;j++){
if (i%j==0){
count++;
}
}
if (count==2){
System.out.println(i);
}
}
}

guwei4037
guwei4037   Ds   Rxr 2016.09.10 20:33
ly__59
ly__59   2016.09.10 21:41

public static void main(String[] args) {
for (int i =2; i < 100; i++) {
int k=0;
for(int j=1;j<i;j++){
if(i%j==0){
k++;
}
}
if(k<=1){
System.out.println(i);
}
}

}
Csdn user default icon
上传中...
上传图片
插入图片