//求素数
import java.math.*;
public class Susu {
public void susu(int data){
int[] arr = new int[data];
for (int i=2; i<arr.length; i++){
     boolean flag = true;
              arr[i] = i;



    for (int j=2; j<=Math.sqrt(arr[i]); j++){
if (arr[i]%j == 0){
    flag = false;
    break;
}
    }


    if (flag){
System.out.println(arr[i]);
}


    }
  }
}
想把求出来的素数arr[i]的值    传递出来 ,怎么实现?
大家给点意见呀       

解决方案 »

  1.   

    既然你创建了一个类。你就new出一个对象来,然后调用Susu()方法啊!
      

  2.   

    定义一个属性int init;
    然后if (flag){
            init=arr[i];
            System.out.println(arr[i]);
            }
    LZ是这个意思吗
      

  3.   

    那不是只传递出来一个值吗,我是想把所有求出来的素数通过一个数组传出来。问题是知道这么写。但传出来的值就是不一样。public int[] Susu(data){...
        int[] brr;
        ...
        return brr;
        }
      

  4.   


    public class Susu {
    public static void main(String args[]){
    int a[] = susu(8);
    for(int i = 0; i < a.length; i++)
    System.out.println(a[i]);
    }

        public static int[] susu(int data){
        int[] arr = new int[data];
        int count = 0;
        for (int i=2; i<arr.length; i++){
             boolean flag = true;
                  arr[i] = i;
            
                
                
            for (int j=2; j<=Math.sqrt(arr[i]); j++){
            if (arr[i]%j == 0){
                flag = false;
                break;
            }
            }
                
                
            if (!flag){
             for(int j = i; j < arr.length - 1; j++){
             arr[j] = arr[j + 1];
             count++;
             }
            }
        }
        int a[] = new int[count];
        
        int i = 0;
        for(int k = 0; k < arr.length; k++)
         if(arr[k] != 0)
         a[i++] = arr[k];
        return a;
      }
    }