Java :: Aufgabe #57
5 Lösungen

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.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
Lösungen:

package pPrimzahltest_26_08_2014; import javax.swing.JOptionPane; public class Testklasse { static int dialog(){ int max=0; boolean eingabe_erfolgreich =false; while(eingabe_erfolgreich != true){ try{ max=Integer.parseInt(JOptionPane.showInputDialog("Bitte geben Sie den Maximalwert an")); eingabe_erfolgreich=true; if(max ==2){ JOptionPane.showMessageDialog(null, "Maximalwert soll größer 2 sein"); eingabe_erfolgreich=false; } }catch(NumberFormatException ex){ JOptionPane.showMessageDialog(null, "Bitte eine Ganzzahl eingeben"); } } return max; } static void primzzahl_ausgabe(int max){ for(int i=2; i<=max;i++){ if(Testklasse.ist_primzahl(i) == true){ System.out.println("Die Zahl "+i+" "+"ist eine Primzahl"); } } } static boolean ist_primzahl(int zahl){ for (int i = 2; i < zahl; i++) { if (zahl % i == 0) { return false; } } return true; } public static void main(String[] args) { Testklasse.primzzahl_ausgabe(Testklasse.dialog()); } }

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

/** * @author ElPapito * @date 07.05.2015 */ import java.util.Scanner; public class AllePrimzahlenBisZuEinemMaximalwertErmitteln { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Obergrenze: "); int max = scanner.nextInt(); scanner.close(); for (int i = 2; i <= max; i++) { boolean prime = true; for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) { prime = false; break; } } if (prime) { System.out.println(i); } } } }

import java.util.Scanner; public class PrimzahlenFilter { public static void main(String[] args) { boolean prim; int limit; int zaehler; int zahl; Scanner s = new Scanner(System.in); limit = s.nextInt(); if (limit < 2) { System.out.println("Ab 2 ist alles erlaubt !"); System.exit(0); } for (zahl = 2; zahl <= limit; zahl++) { prim = true; for (zaehler = 2; zaehler <= zahl / 2; zaehler++) { if (zahl % zaehler == 0) { prim = false; break; } } if (prim) { System.out.println(zahl + " ist Prim"); } } s.close(); } }

import java.util.*; class primzahlen { public static void main (String[] args) throws java.lang.Exception { int maxInt = 300; ArrayList<Integer> zahlen = new ArrayList<Integer>(); //ArrayList füllen for(int i = 2; i <= maxInt; i++) { zahlen.add(i); } //Algorithmus: Sieb des Eratosthenes for(int i = 0; i < zahlen.size(); i++) { if(zahlen.get(i) % 2 == 0 && zahlen.get(i) != 2) { zahlen.remove(i); } } for(int i = 0; i < zahlen.size(); i++) { if(zahlen.get(i) % 3 == 0 && zahlen.get(i) != 3) { zahlen.remove(i); } } for(int i = 0; i < zahlen.size(); i++) { if(zahlen.get(i) % 5 == 0 && zahlen.get(i) != 5) { zahlen.remove(i); } } for(int i = 0; i < zahlen.size(); i++) { if(zahlen.get(i) % 7 == 0 && zahlen.get(i) != 7) { zahlen.remove(i); } } //Ausgabe for(int i = 0; i < zahlen.size(); i++) { System.out.println(zahlen.get(i)); } } }