public class sushu{     
public static class ArrList{
public static int[] resizeArr(int[] arr, int newSize)
{
int[] original=arr;
arr=new int[newSize];
int length=Math.min(original.length,newSize);
for(int i=0;i<length;i++)
arr[i]=original[i];
original=null;
return arr;
}
public static void println(int[] arr){
System.out.println("输出数组元素的个数为"+arr.length);
System.out.println("数组元素为");
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
}
public static void fuzhi() {
int[] arr=new int[10];
for(int i=0;i<arr.length;i++)
{
arr[i]=0;
}
println(arr);
arr = resizeArr (arr,arr.length*2);
println(arr);
}
}
}
public static boolean isPrime(int num) {   
       for(int i = 2; i <= Math.sqrt(num); i++) {//程序默认2是素数,当j=2时,循环不执行
           if(num % i == 0) {
             return false;
           }
       }
       return true;
    }
    public static void main(String[] args) {
        for(int j = 2; j <= 10000; j++) {
            if(sushu.isPrime(j)) {
                System.out.println("素数为"+j);
            }
        }      
    }大虾们,怎么将下面求素数的那个值,复赋值给上面的数组中,在上面输出,求详细代码,谢谢。

解决方案 »

  1.   

    在main方法里面写sushu.resizeArr(int[] arr, int newSize),怎么赋值呢?你的方法有问题
      

  2.   

    把素数放到一个 List中,
    然后return 的时候 list.toArray
      

  3.   


    我把你代码改了  不好意思啊、import java.util.ArrayList;
    import java.util.List;public class sushu{  
    public static class ArrList{
    public static Integer[] resizeArr(Integer[] arr, int newSize)
    {
    Integer[] original=arr;
    arr=new Integer[newSize];
    int length=Math.min(original.length,newSize);
    for(int i=0;i<length;i++)
    arr[i]=original[i];
    original=null;
    return arr;
    }
    public static void println(List arr){
    System.out.println("输出数组元素的个数为"+arr.size());
    System.out.println("数组元素为");
    for(int i=0;i<arr.size();i++)
    System.out.println(arr.get(i));
    }
    public static boolean isPrime(int num) {  
    for(int i = 2; i <= Math.sqrt(num); i++) {//程序默认2是素数,当j=2时,循环不执行
    if(num % i == 0) {
    return false;
    }
    }
    return true;
    }
    public static void fuzhi() {
    Integer[] arr=new Integer[10];
    List cag = new ArrayList();
    for(int i=0;i<arr.length;i++)
    {
    arr[i]=0;
    cag.add(arr[i]);
    }

    println(cag);
    System.out.println("arr ---------------:"+arr.length);
    arr = resizeArr (arr,arr.length*2);
    cag.clear();
    for(int i =0; i<arr.length;i++){
    cag.add(arr[i]);
    }

    println(cag);
    }

    }
    public static void main(String[] args) {
    List cag = new ArrayList();
    for(Integer j = 2; j <= 50; j++) {
    if(ArrList.isPrime(j)) {
    System.out.println("素数为"+j);
    cag.add(j);
    }}
    System.out.println("--start-----");
    ArrList.println(cag);
    System.out.println("--end-------");
    ArrList.fuzhi();
    }
    }