日期:2014-05-20  浏览次数:20713 次

帮忙看一下了,谢谢
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);
}
}  
}



大虾们,怎么将下面求素数的那个值,复赋值给上面的数组中,在上面输出,求详细代码,谢谢。

------解决方案--------------------
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for(int j = 2; j <= 10000; j++) {
if(sushu.isPrime(j)) {
System.out.println("素数为"+j);
list.add(j);
}
}
int[] primes = new int[list.size()];
for(int i = 0; i < list.size(); i++){
primes[i] = list.get(i).intValue();
}
}
这样就可以得到素数的数组了,你再传入上面的方法就可以了