黑马程序员技术交流社区
标题:
判断素数 这段有什么问题
[打印本页]
作者:
ninjaes
时间:
2016-3-2 21:35
标题:
判断素数 这段有什么问题
int count=0;
ArrayList<Integer>al=new ArrayList<Integer>();
for(int x=1;x<=100;x++){
for(int y=1;y<=x;y++){
if(x%y==0){
count++;
}
if(count<=2){
al.add(x);
}
}
}
System.out.println(al);
}
作者:
ninjaes
时间:
2016-3-2 21:38
为什么最后的结果就是【1,2】 使用的双循环 有什么问题?
作者:
小笼包
时间:
2016-3-2 22:47
循环有问题,首先你的count定义下外面,count的值一直在改变,当i=2的时候,2%2的时候,count已经变为3了,所以不会再有了下面是正确的代码
public static void main(String[] args) {
ArrayList<Integer>al=new ArrayList<Integer>();
for(int x=1;x<=100;x++){
int count=0;
for(int y=1;y<=x;y++){
if(x%y==0){
count++;
}
}
if(count<=2){
al.add(x);
}
}
System.out.println(al);
}
}
复制代码
作者:
ninjaes
时间:
2016-3-3 17:06
小笼包 发表于 2016-3-2 22:47
循环有问题,首先你的count定义下外面,count的值一直在改变,当i=2的时候,2%2的时候,count已经变为3了, ...
nice!!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2