Hallo,
ich bringe mir gerade Java bei und habe mir die Aufgabe gestellt, ein Programm alle Primzahlen bis 1000 herausfinden und aufzählen zu lassen:
Dieses Programm gibt mir jedoch einfach alle Zahlen bis 1000 aus.
Irgendwie schein der neue Wert für "r" nicht den Weg aus der while-Schleife heraus zu finden, sodass für die letzte if-Schleife immer gilt r=1.
Kann das sein?
Grüße
Siid
ich bringe mir gerade Java bei und habe mir die Aufgabe gestellt, ein Programm alle Primzahlen bis 1000 herausfinden und aufzählen zu lassen:
Java:
public class Primzahlen
{
public static void main(String[] args)
{
int e=2; //i wird durch e geteilt
int r=1; //r für den Rest wenn man eine Primzahl durch e teilt
System.out.println("Folgendes ist eine Liste aller Primzahlen bis 1000:");
for(int i=0; i<=1000; i++) //Schleife zur überprüfung aller Zahlen bis 1000
{
while(r!=0 && e<i) //Schleife zur überprüfung einer einzelnen Zahl
{
r=i%e; //Solange r!=0 i = Primzahl
e++; //Hochzählen von dem Teiler e
}
if(r!=0) //Bedingung zur Ausgabe einer Zahl als Primzahl
{ //wenn r=0 ist ein Teilungsvorgang aufgegangen => keine Primzahl
System.out.println(i);
}
}
}
}
Irgendwie schein der neue Wert für "r" nicht den Weg aus der while-Schleife heraus zu finden, sodass für die letzte if-Schleife immer gilt r=1.
Kann das sein?
Grüße
Siid