回 帖 发 新 帖 刷新版面

主题:本人初学者,这个小程序不知道问题出在哪,求高手指教

public class 素数 {
    public static void main(String args[])
    {   
        int i=2,j=1,t;
        while(i<10)
        {    t=0;
           while(j<=i)
            {   
                if(i%j==0)
                    t++;
                    j++;
                    //System.out.println(t+"  ");
            }
           if(t==2)
               System.out.print(i+"\t");
           i++;
        }
    }

}

回复列表 (共4个回复)

沙发

public class sushu {

    public static void main(String[] args){
        
        int sum=0;
        for (int i=1;i<100;i++ )
        {
            if((i%2!=0)&&(i%3!=0)&&(i%5!=0)&&(i%7!=0))
            {
                System.out.println(i);
                sum++;
            }

        }
        
        System.out.println("1-100以内质数数量:");
        System.out.println(sum);
    }
}

板凳


不能否认,您提供的代码方法很好,但我觉得我的不论从逻辑上还是语法上都没有错误,为什么不能输出啊???

3 楼


public static void main(String[] args) {
        int j; 
        for (int i=2;i<=100;i++) //1不是素数,所以直接从2开始循环 
        { 
        j=2; 
        while(i%j!=0) 
        { 
        j++; //测试2至i的数字是否能被i整除,如不能就自加 
        } 
        if(j==i) //当有被整除的数字时,判断它是不是自身 
        { 
        System.out.println (i); //如果是就打印出数字 
        } 
        } 
    

    }

}
楼上那个·少了~~3 5。7,,能输出的,,

4 楼

谢谢啦,我的程序里是j在循环时没重新赋值

我来回复

您尚未登录,请登录后再回复。点此登录或注册