# Primzahlen bis 1000 ausgeben



## Siid (29. Aug 2012)

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:

```
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);
			}
		}
	}
}
```
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


----------



## tribalup (29. Aug 2012)

Schau mal hier
http://www.java-forum.org/hausaufgaben/140486-pi-10000-stellen-berechnen.html


----------



## faetzminator (29. Aug 2012)

Setze e und r einfach in der äusseren Schleife  Ansonsten beinhalten sie natürlich immer noch den Wert des letzten Schleifendurchgangs.


----------



## Siid (29. Aug 2012)

Okay, jetzt seh ich es auch. Danke!


----------

