Gyakorlati alapok II.
Prímszámok külön állományba
Pálinkó Tímea tanítványom házi feladata a
Filekezelés című fejezetcsomagban leírtak figyelembevételével a következő
volt:
-
alkoss 1 olyan külön metódusos programot, amelyik egy prímszámlistát külön állományba menti le. A keletkezett állomány létezését ellenőrizd is le!
Tímea a meglévő rutinja alapján nem sokat vacakolt az algoritmussal és hamar megírta a megoldást. Figyeljük meg a dinamikusan növekvő ArrayList tömb okos használatát (Tömblista (arraylist) című fejezet), amely arra (is) jó, hogy előre nem látható mennyiségű adatot tárolhassunk benne, hiszen a külön metódusos követelmény miatt Tímeának pontosan erre az opcióra volt szüksége.
Nézzük meg a futtatható Java-kódot:
import
java.math.*;
import java.io.*;
import java.util.ArrayList;
public class Main {
public static ArrayList<String> prime(){
boolean isValidPrime = true;
ArrayList<String> tomblist = new ArrayList<>();
for(int i = 2; i < 100; i++){
isValidPrime = true;
for (int j = 2; j <= Math.sqrt(i);
j++){
if(i % j ==
0){
isValidPrime = false;
break;
}
}
if(isValidPrime == true){
String szam =
Integer.toString(i);
tomblist.add("\n" + szam);
}
}
return tomblist;
}
public static void textFile() throws IOException{
PrintWriter writer = new PrintWriter(new
FileWriter("C:\\Primenumbers.txt"));
writer.println(prime());
File file = new File("C:\\Primenumbers.txt");
if(file.exists()) {
System.out.println("A file
létezik.");
} else {
System.out.println("A file nem
létezik.");
}
writer.close();
}
public static void main(String[] args) throws IOException {
prime();
textFile();
}
}
Végeredmény:
Primenumbers nevű TXT file a C: meghajtón, benne a 0 és 100 közötti prímszámokkal