Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird?

mrbody23

Mitglied
Hallo,

Kann man jemand sagen, was hier der fehler ist, warum mir primzahlen als false zurückgegeben werden? Ich bitte um Hilfe!

LG

Java:
public boolean istPrimzahl(int zahl){         
        boolean prim;
        prim = true;
        int i;
        i = 0;
        if(zahl == 1){       
            prim = false;
        }
        else{       
            i = 2;
            while(i<=Math.sqrt(zahl) && prim == true){               
                if(zahl % i == 1){                   
                    prim = false;               
                }
                else{               
                    i = i +1;
                    System.out.println("i=" + i);
                }
            }
        }
        return prim;
    }
 

Zurück
Oben