Java 1-1000的质数放到数组里面 然后打印数组 这个有人能帮一下吗

 我来答
坐墙等红杏0117
2016-11-11 · TA获得超过140个赞
知道小有建树答主
回答量:212
采纳率:50%
帮助的人:82.8万
展开全部
import java.util.ArrayList;
import java.util.List;

public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();

//循环1000以内的数
for (int n=2;n<=1000;n++){
//给b初始值true
boolean b = true;
//如果循环拿到的数n不等于1,就进入下面循环
if (n != 1 ){
//i从大于1的第一个数也就是2开始,一次循环到比这个数n本身小的最大的数
//何为质数,除了1和他本身不能再被其他数整除。所以...这样循环
for (int i = 2; i < n; i++){
if (n % i == 0){//如果取余为0,也就是除了1和其本身有其他数可以乘除他,所以置为false
b = false;
//跳出当前循环,判断是否打印,并且到外面循环继续
break;
}

}
}
//如果b为true打印下面的质数
if (b){
list.add(n);

}
}
System.out.println(list);
}
}
追问
不对吧 数组呢
追答
数组是定义时就确定长度的,要增加的话要先扩容在增加,麻烦,集合就可以直接增加,如果你非要数组的话,集合可以转成数组
Integer [] zs = (Integer[])list.toArray( new Integer [list.size()]);
for (int i=0; i<zs.length; i++) {

System.out.println(zs[i]);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式