主题:本人初学者,这个小程序不知道问题出在哪,求高手指教
			
 依羲魔剑
				 [专家分:0]  发布于 2012-03-07 17:52:00							
			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个回复)
		
								
				沙发
				
					
419464926 [专家分:30]  发布于 2012-03-07 18:05:00				
				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);
    }
}
							 
						
				板凳
				
					
依羲魔剑 [专家分:0]  发布于 2012-03-07 19:59:00				
				
不能否认,您提供的代码方法很好,但我觉得我的不论从逻辑上还是语法上都没有错误,为什么不能输出啊???
							 
						
				3 楼
				
					
419464926 [专家分:30]  发布于 2012-03-08 08:52:00				
				
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 楼
				
					
依羲魔剑 [专家分:0]  发布于 2012-03-08 13:05:00				
				谢谢啦,我的程序里是j在循环时没重新赋值
							 
									
			
我来回复