Moin ich habe das Problem, dass bei meinem Output sich die Primzahlen unregelmäßig wiederholen bevor es zur nächsten geht. Ich bin bei java noch recht neu kann mir ggf. wer helfen?
Code:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
//Abfrage nach min Max Zahlenbereich
System.out.println("Dies ist ein Primzahlenfinder");
System.out.println("Bitte geben sie ihre Anfangszahl an vond er Gesucht werden soll");
int ZahlK = sc.nextInt();
System.out.println("Bitte geben sie ihre Maximalzahl an bis zu der gesucht werden soll");
int ZahlG = sc.nextInt();
int i;
String fileName = "out.txt";
//Primzahlen erkenner
//i/2 da über hälfte bei teilern suchen kein sinn macht
//For ist bis zahllimit erreicht wird
File filel = new File("out.txt");
FileWriter fw = new FileWriter(filel);
PrintWriter pw = new PrintWriter(fw);
for (i = ZahlK; i <= ZahlG; i++) {
int n = 2;
//Teilersuchen
while (i % n != 0 && n <= i / 2) {
n++;
pw.println(i + " ist eine Primzahl");
}
//Falls keiner gefunden wurde zahl posten
// Nachträglicher Zusatz 1 ist keine Primzahl obwohl die oben genannten eigenschaften zustimmen daher ungleich 1
if (n >= i / 2 +1 && i !=1) {
}
/*else {
System.out.println(i + " ist keine Primzahl");
}*/
}
pw.close();
}
}