主题:本人初学者,这个小程序不知道问题出在哪,求高手指教
依羲魔剑
[专家分: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在循环时没重新赋值
我来回复