標籤:class tac imp int 操作 cat ack import flush
【要求】編寫程式求出10萬以內的所有素數,並將這些素數輸出到一個文字檔中,每行文本只包含一個素數資料。
1 import java.util.*; 2 import java.io.*; 3 4 public class SuShu { 5 final int Max = 100000; 6 boolean isSu[] = new boolean[Max]; 7 ArrayList<Integer> List = new ArrayList<Integer>(); 8 9 public void find() {10 for (int i = 0; i < Max; i++) {11 isSu[i] = true;12 }13 for (int i = 2; i < Max; i++) {14 if (isSu[i]) {15 List.add(i);16 //素數的倍數必然不是素數17 for (int x = i + i; x < Max; x = x + i) {18 isSu[x] = false;19 }20 }21 }22 }23 24 public void print() {25 try {26 FileWriter fw = new FileWriter("E://data.txt",true);27 for (int i = 0; i < List.size(); i++){28 fw.write(List.get(i)+"\r\n");29 }30 fw.flush();31 fw.close();32 } catch (IOException e) {33 e.printStackTrace();34 }35 }36 37 public static void main(String args[]) {38 SuShu A = new SuShu();39 A.find();40 A.print();41 }42 }
[Java檔案操作] 將素數輸出到檔案