Primzahlen (erweitert)
Mit der folgenden erweiterten Klasse kann man nun auch per Dialogbox (swing) eingeben wie weit
die Klasse die Primzahlen berechnen und ausgeben soll.
Die Hauptklasse mit der main() Methode:
- package OwnStuff;
- public class PrimDeluxe {
-
- public static void main(String[] args) {
-
- Prim.berechnen(Prim.input()+1);
-
- }
- }
Und nun die 2. Klasse Prim in der die Berechnung und die Eingabe erfolgt:
- package OwnStuff;
- import javax.swing.JOptionPane;
- public class Prim {
- public static void berechnen(int bis) {
-
-
- int i = 1;
- boolean Prim = true;
- while (i < bis){
- for (int j = 2; j < i-1; j++){
-
- if (i%j == 0){
-
- Prim = false;
-
- }
-
- }
-
- if (Prim){
-
- System.out.println(i);
-
- }else{
-
- Prim = true;
-
- }
-
- i++;
-
- }
-
- }
-
-
- public static int input(){
-
- int number = 0;
- while ( true ) {
-
- try {
-
- String s = JOptionPane.showInputDialog( "Primzahlen bis wohin berechnen?" );
- number = Integer.parseInt( s );
- break;
-
- }
- catch ( NumberFormatException e ) {
-
- System.out.println( "Sie müssen eine Ganzzahl (Integer) eingeben!" );
-
- }
-
- }
- System.out.println("Primzahlen bis "+number+" werden ausgegeben:");
- System.out.println();
-
- return number;
-
- }
-
- }
Die Ausgabe sollte z.b. so aussehen:
- Primzahlen bis 100 werden ausgegeben:
- 1
- 2
- 3
- 5
- 7
- 11
- 13
- 17
- 19
- 23
- 29
- 31
- 37
- 41
- 43
- 47
- 53
- 59
- 61
- 67
- 71
- 73
- 79
- 83
- 89
- 97