随机生成100个1000以内的整数,将这100个整数中的素数找出来并写到一个文本文件中。要求:实现两个类,一个为求素数类,另一个为主类,调用求素数类的方法

解决方案 »

  1.   

    import java.io.FileNotFoundException;
    import java.io.PrintWriter;
    import java.util.*;
    public class Test2{
    public static void main(String[] args){
    int[] array=new int[100];
    String str = "素数是";
    List list;
    for(int i=0;i<array.length;i++){
    array[i]=(int) (Math.random()*1000);
    //System.out.print(array[i]+",");
    }
    try {
    PrintWriter out=new PrintWriter("ex.txt");
    list=Ex.ex(array);
    Iterator it=list.iterator();
    while(it.hasNext()){
    str=str+(it.next().toString()+",");
    }
    //System.out.println(str);
    if(!str.equals("")){
    out.println(str);
    }
    out.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    }
    }class Ex{
      //查找素数的方法
    public static List<Integer> ex(int[] arr){
    int j,k;
    List<Integer> list=new ArrayList<Integer>();
    for(int i=0;i<arr.length;i++){
    j=0;
    k=1;
    while(k<=arr[i]){
    if(arr[i]%k==0){
    j++;
    }
    k++;
    }
    if(j<=2&&j>1){
    list.add(new Integer(arr[i]));
    }
    }
    return list;
    }
    }