Java :: Aufgabe #57

5 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von joggel (180 Punkte) - 26.08.2014 um 18:55 Uhr
Quellcode ausblenden Java-Code
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());

	}


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

}
vote_ok
von ElPapito (2690 Punkte) - 08.05.2015 um 18:31 Uhr
Quellcode ausblenden Java-Code

/**
 * @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);
			}
		}
	}

}

vote_ok
von Syntax6 (420 Punkte) - 15.09.2015 um 11:32 Uhr
Quellcode ausblenden Java-Code
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();
	}

}
vote_ok
von Bufkin (1410 Punkte) - 23.08.2017 um 12:27 Uhr
Quellcode ausblenden Java-Code
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));
        }
    }
}
2090606

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.