Java :: Aufgabe #57 :: Lösung #2

5 Lösungen Lösungen öffentlich
#57

Alle Primzahlen bis zu einem Maximalwert ermitteln

Anfänger - Java von devnull - 26.02.2014 um 18:36 Uhr
Es soll ein Programm geschrieben werden, welches alle Primzahlen im Bereich von 2 bis zu einem Maximalwert sucht und auf der Konsole ausgibt.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
#2
vote_ok
von AaronHodel (50 Punkte) - 29.08.2014 um 17:27 Uhr
Quellcode ausblenden Java-Code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Aaron Hodel
 *
 */
public class Prim {
	public static void main(String[] args) throws Exception {
		printPrims(getInt());
	}

	public static int getInt() throws Exception {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		int i = 0;
		while (true) {
			String s = reader.readLine();
			try {
				i = Integer.parseInt(s);
			} catch(NumberFormatException e) {
				System.err.println("Please type in a number");
				continue;
			}
			return i;
		}

	}

	public static void printPrims(int i) {
		List<Integer> prims = getPrims(i);
		for (int p : prims) {
			System.out.print(p + ", ");
		}
	}

	public static List<Integer> getPrims(int i) {
		List<Integer> prims = new ArrayList<Integer>();
		for (int p = 2; p < i; p++) {
			if (isPrim(p)) prims.add(p);
		}
		return prims;
	}

	public static boolean isPrim(int i) {
		for (int l = 2; l <= i / 2; l++) {
			if (i % l == 0) return false;
		}
		return true;
	}

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben