Java 1-1000的质数放到数组里面 然后打印数组 这个有人能帮一下吗
1个回答
展开全部
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);
}
}
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]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询