Als weitere Alternative kann man den Datentyp des Feldes von int auf boolean umstellen:
public class Sieb3 { public static void main(String args[]) { // 1. Deklaration der Variablen int i, j; // Neu: Datentyp wird auf boolean umgestellt boolean [] sieb = new boolean[101]; // 2. Initialisierung des Feldes for (i=2; i<=100; i++) // Neu: Feld wird mit true initialisiert sieb[i]=true; // 3. Loeschen der Vielfachen for (j=4; j<=100; j+=2) sieb[j]=false; for (i=3; i<=10; i++) // Neu: Feld-Element wird auf true abgefragt if (sieb[i]==true) for (j=3*i; j<=100; j+=2*i) // Neu: Gestrichenes Feld-Element wird auf false gesetzt sieb[j]=false; // 4. Ausgabe der Primzahlen for (i=2; i<=100; i++) // Neu: Feld-Element wird auf true abgefragt if (sieb[i]==true) System.out.println(i);
// 5. Beenden des Programms
System.exit(0);
}
}