Guten Abend!
Der folgende Code Soll Primzahlen erkennen und ausgeben.
Allerdings gibt er fast alle zahlen aus, also eine Art Zähler. Woran könnte das liegen?
Die Comments habe ich zum schnelleren verstehen stehen gelassen. Sollte ich sie raus nehmen wegen der Übersichtlichkeit?
Der folgende Code Soll Primzahlen erkennen und ausgeben.
Allerdings gibt er fast alle zahlen aus, also eine Art Zähler. Woran könnte das liegen?
Die Comments habe ich zum schnelleren verstehen stehen gelassen. Sollte ich sie raus nehmen wegen der Übersichtlichkeit?
Code:
public class mirp {
public static void main(String[] args) {
int ulimit = 2, olimit = 888, aktzahl = 3;
while (ulimit > 1 && ulimit < olimit && aktzahl <= olimit){
if (primtester(aktzahl)){
System.out.println( "Das ist eine Primzahl : " + aktzahl);
}
aktzahl++;
}
}
static boolean primtester(int n) { //n = zahl mit der gestestet wird
int counter = 10; // für debug auf 10. muss aber iwi geändert werden, da sonst die ersten wegfallen
int n_wurz = (int) java.lang.Math.sqrt(n); //braucht nur bis zur wurzel gerechnet werden.
boolean istprim = true;
while((counter < n_wurz) && (istprim)) { //durch istprim wird das break am Ende überflüssig
if((n % counter) == 0){
istprim = false;
//break;
}//else istprim = true;
counter++; //Counter zählt die Zahl durch welche geteilt wird nur hoch.
}
return istprim;
} //ende vom tester
}
Zuletzt bearbeitet: