Primzahlen check, String prüfen lassen.

Irreparabel

Aktives Mitglied
Hey ho, ich bin's mal wieder.^^
Ich bin mittlerweile etwas weiter gekommen und habe einen eigenen Primzahlencheck programmiert, jedoch möchte ich nun, dass er vorher überprüft, ob sich im String nur Zahlen befinden.
Der ActionHandler ist a7, um den Rest muss sich niemand kümmern. :p
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.lang.*;
import java.lang.String;

public class myframe extends JFrame {
  // Anfang Attribute
            JFrame frame1 = new JFrame("Popup");
            JMenuBar menubar1 = new JMenuBar();
            JMenuItem item1 = new JMenuItem("MenuItem",KeyEvent.VK_T);
            JMenu menu1 = new JMenu("Menu");
            JMenu menu2 = new JMenu("Menu2");
            JPanel panel1 = new JPanel();
            JButton button1 = new JButton("Test");
            JButton button2 = new JButton("Auflösung ändern");
            JButton button3 = new JButton("800x600");
            JButton button4 = new JButton("1440x900");
            JButton button5 = new JButton("Schließen");
            JButton button6 = new JButton("Primzahl prüfen");
            JTextField txt10 = new JTextField();
            JTextField txt11 = new JTextField();
            JTextField txt12 = new JTextField();
            JLabel label1 = new JLabel("<html><body>Sie haben die Wahl zwischen:<br>800x600<br>1024x768<br>1440x900</body></html>");
            JLabel label2 = new JLabel();
            JLabel label3 = new JLabel();
            ActionListener a1 = new ActionListener(){
                public void actionPerformed(ActionEvent evt){
                  doIt();
                }
            };
            ActionListener a2 = new ActionListener(){
              public void actionPerformed(ActionEvent evt){
                res1();
              }
            };
            ActionListener a3 = new ActionListener(){
              public void actionPerformed(ActionEvent evt){
                res2();
              }
            };
            ActionListener a4 = new ActionListener(){
              public void actionPerformed(ActionEvent evt){
                res3();
              }
            };
            ActionListener a5 = new ActionListener(){
              public void actionPerformed(ActionEvent evt){
                close1();
              }
            };
            ActionListener a6 = new ActionListener(){
              public void actionPerformed(ActionEvent evt){
                primcheck1();
                test1();
              }
            };
  // Ende Attribute
  // Anfang Methode
  public myframe(String title)
  {
    super(title);
    setLayout(null);
    setSize(500,250);
    setResizable(false);
    setUndecorated(false);
    
    frame1.setSize(200,200);
    frame1.setUndecorated(true);
    frame1.setLocation(670,350);
    
    panel1.setBounds(460,6,60,60);
    add(panel1);
    setVisible(true);

    button1.setBounds(3,36,69,30);
    button1.addActionListener(a1);
    add(button1);
    setVisible(true);

    button2.setBounds(76,36,149,30);
    button2.addActionListener(a2);
    add(button2);
    setVisible(true);

    button3.setBounds(3,69,100,30);
    button3.addActionListener(a3);
    add(button3);
    setVisible(true);

    button4.setBounds(3,102,100,30);
    button4.addActionListener(a4);
    add(button4);
    setVisible(true);
    
    button5.setSize(50,50);
    button5.addActionListener(a5);
    frame1.add(button5);
    setVisible(true);
    
    button6.setBounds(229,36,142,30);
    button6.addActionListener(a6);
    add(button6);
    setVisible(true);
    
    label1.setBounds(130,80,100,86);
    add(label1);
    setVisible(true);
    
    label2.setBounds(302,6,150,30);
    add(label2);
    setVisible(true);
    
    label3.setBounds(0,0,0,0);
    add(label3);
    setVisible(false);
    
    txt10.setBounds(229,6,70,30);
    txt10.setDocument(new JTextFieldLimit(9));
    add(txt10);
    setVisible(true);

    txt11.setBounds(76,6,150,30);
    add(txt11);
    setVisible(true);

    txt12.setBounds(3,6,70,30);
    add(txt12);
    setVisible(true);
    }
  // Ende Methoden
  // Anfang
  public void doIt(){
    String s1 = txt12.getText();
    if (s1.equals("öffnen"))
    {
      menubar1.setVisible(true);
    }
    if (s1.equals("schließen"))
    {
      menubar1.setVisible(false);
      frame1.setVisible(false);
    }
    if (s1.equals("frame")){
      frame1.setVisible(true);
    }
    else
     System.out.println("Nope");
  }
  public void res1(){
    String s1 = txt11.getText();
    if (s1.equals("1440x900")){
      setSize(1440,900);
    }
    if (s1.equals("800x600")){
    setSize(800,600);
    }
    if (s1.equals("1024x768")){
    setSize(1024,768);
    }
  }
    public void res2(){
      setSize(800,600);
    }
    public void res3(){
      setSize(1440,900);
    }
    public void close1(){
      frame1.setVisible(false);
    }
    public void primcheck1(){
      int b = Integer.parseInt(txt10.getText());
      int a = 9999;
      for ( int faktor = 1; faktor <= a; faktor ++ ) {
      System.out.println(b+"/" + faktor + "=" + b%faktor);
      String s3 = label3.getText();
      if (s3.equals("fail")){
      label2.setText("String muss eine Zahl sein");
      break;
      }
      if (b == 1){
      label2.setText(" ist keine Primzahl");
      break;
      }
      if (faktor < b){
       if (faktor > 1){
        if (b%faktor==0){
         label2.setText(" ist keine Primzahl");
       break;
                        }
                       }
                     }
       if (faktor < 1){
        if (b%faktor != 0){
         label2.setText(" ist eine Primzahl");
          break;
                          }
                      }

       else
         label2.setText(" ist eine Primzahl");
           }
    }
    public void test1(){
     String s2 = txt10.getText();
      try{
      Integer.parseInt(s2);
      }
      catch (NumberFormatException ex){
      label3.setText("fail");
      }
    }
  public static void main(String[] args) {
    new myframe("Testframe");
    }
}
 

eRaaaa

Top Contributor
Du meinst sicherlich A6 und die Methode primcheck1() ?

Also, am einfachsten wäre es einfach den String mit if(s.matches("\\d+")) abzufragen (oder Integer.parseInt)..das wars schon :)

/edit: ähh das hast du ja in test1()...was ist jetzt deine Frage? sorry :D
 
Zuletzt bearbeitet:

Irreparabel

Aktives Mitglied
Ah genau, a6, habe eben noch was am Script verändert, da ich versucht habe test1 und primcheck1 miteinander zu verbinden.^^
Was bedeutet denn "\\d+"?
Habe jetzt das hier, funktionieren tut es aber noch nicht. :p
Java:
public void primcheck1(){
      int b = Integer.parseInt(txt10.getText());
      int a = 9999;
      for ( int faktor = 1; faktor <= a; faktor ++ ) {
      System.out.println(b+"/" + faktor + "=" + b%faktor);
      String s3 = txt10.getText();
      if (s3.matches("\\d+")){
      label2.setText("String muss eine Zahl sein");
      break;

edit: das mit test1 hat nicht funktioniert, ich wollte wissen wieso und was es für alternativen gäbe. :p
 

eRaaaa

Top Contributor
Java:
if (s3.matches("\\d+")){
      label2.setText("String muss eine Zahl sein");

in dem Fall natürlich nicht zutrffend:

Java:
if (!s3.matches("\\d+")){
      label2.setText("String muss eine Zahl sein");

zu deinem edit: An sich funktioniert die Methode schon, nur du rufst diese ja erst nach deinem primcheck auf, was bedeutet, dass du du erst danach dein label3 auf "fail" setzt. /zu dme Zeitpunkt wo primcheck also aufgerufen wird, das Label halt noch nicht diesen Stirng hat!)
 

Irreparabel

Aktives Mitglied
Soo, meine letzten Fragen für heute. ;)
1.) Was hat es denn mit dem "\\d+" auf sich?^^
2.) Was bewirkt das ! vor dem s3?
3.)Wie kann ich eine Schleife mit einem else anfangen?!
Er zeigt mir zwar an, dass der String eine Zahl enthalten muss, aber versucht trotzdem mit dem Wert/der Variable zu rechnen.^^'
Java:
    public void primcheck1(){
      String s3 = label3.getText();
      if (s3.equals("fail")){
      label2.setText("String muss eine Zahl sein");
      }
      int b = Integer.parseInt(txt10.getText());
      int a = 9999;
      for ( int faktor = 1; faktor <= a; faktor ++ ) {
      System.out.println(b+"/" + faktor + "=" + b%faktor);
      if (b == 1){
      label2.setText(" ist keine Primzahl");
      break;
      }
      if (faktor < b){
       if (faktor > 1){
        if (b%faktor==0){
         label2.setText(" ist keine Primzahl");
       break;
                        }
                       }
                     }
       if (faktor < 1){
        if (b%faktor != 0){
         label2.setText(" ist eine Primzahl");
          break;
                          }
                      }

       else
         label2.setText(" ist eine Primzahl");
           }
    }
 

eRaaaa

Top Contributor
Soo, meine letzten Fragen für heute. ;)
1.) Was hat es denn mit dem "\\d+" auf sich?^^
2.) Was bewirkt das ! vor dem s3?
3.)Wie kann ich eine Schleife mit einem else anfangen?!

1.) die Methode matches erwartet als Paramter einen Regex-String. Also einen regulären Ausdruck/Pattern: a)Pattern (Java 2 Platform SE v1.4.2) b)Lesson: Regular Expressions (The Java™ Tutorials > Essential Classes)
Wie in a) abzulesen : \d A digit: [0-9] Also \\d steht für eine Zahl. Mit dem + sagst du, dass die zahl ein- oder mehrmals vorkommen darf, damit der Ausdruck gültig ist.

2.) Ohje :D Schwer in Worte zu fassen, so simple ^^ Du negierst einfach den boolschen Ausdruck der von matches() kommt !true -> false, !false --> true.

3.)
Java:
      if (s3.equals("fail")){
      label2.setText("String muss eine Zahl sein");
      return;
      }

Aber imo missbrauchst du hier Swing für deine Fachlichkeit ?!
 

Irreparabel

Aktives Mitglied
Vielen Dank für die Antworten und Hilfe!^^
Es funktioniert zwar noch nicht ganz, aber ich denke mit etwas rumprobieren wird das jetzt was. :p
Wie du das mit dem Swing missbrauchen meinst verstehe ich nicht ganz. o.o

Edit: Okay, es funktioniert endlich, ich musste nur label3 wieder leeren.^^
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
B Primzahlen bis 100 addieren Java Basics - Anfänger-Themen 16
H Primzahlen finden - Zeit optimieren Java Basics - Anfänger-Themen 34
S Primzahlen in Array ausgeben Java Basics - Anfänger-Themen 14
M Array auf Primzahlen prüfen Java Basics - Anfänger-Themen 7
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
fendix Compiler-Fehler Algorithmus zur Bestimmung von Primzahlen Java Basics - Anfänger-Themen 7
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
G Primzahlen von Rekursiv nach Iterativ Java Basics - Anfänger-Themen 6
M Rekursives Programm zum Anzeigen von Primzahlen Java Basics - Anfänger-Themen 3
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
Java The Hutt Primzahlen - die ersten 100 Java Basics - Anfänger-Themen 17
N Erste Schritte Primzahlen-ArrayIndexOutOfBounds Java Basics - Anfänger-Themen 23
R Primzahlen Zähler Programm / Benachbarte Primzahlen Java Basics - Anfänger-Themen 30
D Klassen Primzahlen überprüfen Java Basics - Anfänger-Themen 3
I Primzahlen Java Basics - Anfänger-Themen 17
Z Rekursion Primzahlen Java Basics - Anfänger-Themen 1
M Erste Schritte primzahlen ermitteln, nur zahlen als eingabe erlauben Java Basics - Anfänger-Themen 34
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
R primzahlen im array Java Basics - Anfänger-Themen 33
M Primzahlen, nur jede 2te ausgeben Java Basics - Anfänger-Themen 11
T Primzahlen Fehler Java Basics - Anfänger-Themen 4
K Primzahlen Java Basics - Anfänger-Themen 6
L Primzahlen im Array ausgeben Java Basics - Anfänger-Themen 3
P Primzahlen Java Basics - Anfänger-Themen 3
A Methoden Primzahlen erstellen von 1 bis 100-Codeprobleme Java Basics - Anfänger-Themen 2
H Variablenverfolgung - Primzahlen Java Basics - Anfänger-Themen 7
G Primzahlen Java Basics - Anfänger-Themen 6
D Primzahlen und Rekursive Liste Java Basics - Anfänger-Themen 29
S Primzahlen bis 1000 ausgeben Java Basics - Anfänger-Themen 3
K Methoden Primzahlen Java Basics - Anfänger-Themen 33
S Input/Output Primzahlen Datenbank Java Basics - Anfänger-Themen 11
F Primzahlen in Zahlenblöcken ausgeben Java Basics - Anfänger-Themen 9
M Primzahlen - es werden alle Nicht-Primzahlen ausgegeben Java Basics - Anfänger-Themen 5
M primzahlen Java Basics - Anfänger-Themen 4
S Programm zu Ermittlung von Primzahlen Java Basics - Anfänger-Themen 14
E Programm zum Primzahlen ausgeben-Fehler Java Basics - Anfänger-Themen 12
X Primzahlen Java Basics - Anfänger-Themen 7
S Primzahlen Java Basics - Anfänger-Themen 12
B Programmierobjekt - Primzahlen Java Basics - Anfänger-Themen 2
D Primzahlen ausgeben. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
N Primzahlen Java Basics - Anfänger-Themen 5
A OOP Programm zum bestimmen von Primzahlen, OutofBoundsException Java Basics - Anfänger-Themen 10
apple987123 Primzahlen Java Basics - Anfänger-Themen 12
A Primzahlen: ein paar offene Fragen Java Basics - Anfänger-Themen 2
T Primzahlen Java Basics - Anfänger-Themen 6
G Primzahlen Java Basics - Anfänger-Themen 18
B Primzahlen berechnen - Wieso unterschiedliche Java Basics - Anfänger-Themen 3
B Primzahlen Algorithmus - wo ist der Fehler ? Java Basics - Anfänger-Themen 2
E Primzahlen Java Basics - Anfänger-Themen 5
B Primzahlen mit Array errechnen! Java Basics - Anfänger-Themen 13
H Miller Rabin Test Primzahlen werden teilweise nicht gefunden Java Basics - Anfänger-Themen 5
M Wer kann mir bei Primzahlen helfen ? Java Basics - Anfänger-Themen 4
G Frage zur Primzahlen berechnung Java Basics - Anfänger-Themen 11
kulturfenster Primzahlen berechnen Java Basics - Anfänger-Themen 11
D Primzahlen Java Basics - Anfänger-Themen 4
N Zerlegung in Primzahlen Java Basics - Anfänger-Themen 7
F Programm Primzahlen Java Basics - Anfänger-Themen 5
J Primzahlen errechnen.ArrayLists abgleichen Java Basics - Anfänger-Themen 2
M Primzahlen Java Basics - Anfänger-Themen 6
C Primzahlen Java Basics - Anfänger-Themen 7
C Primzahlen Java Basics - Anfänger-Themen 2
S Primzahlen Java Basics - Anfänger-Themen 49
E Check Java Basics - Anfänger-Themen 25
F Check ob ein Programm installiert ist Java Basics - Anfänger-Themen 4
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
R Check Box mit Array Java Basics - Anfänger-Themen 21
timbeau Javax.Mail: Check this out Java Basics - Anfänger-Themen 10
JTeacher Check your skills Java Basics - Anfänger-Themen 8
B de-Domain Whois-Check? Java Basics - Anfänger-Themen 9
Dit_ "Check for Updates" Funktion Java Basics - Anfänger-Themen 10
A Die Werte der ersten beiden markierten Check-Boxen registrieren Java Basics - Anfänger-Themen 11
Developer_X Wie kann man Check Boxes checken? Java Basics - Anfänger-Themen 10
G check-funktion mit java schreiben! Java Basics - Anfänger-Themen 3
V Beginner question with check true value??? Java Basics - Anfänger-Themen 3
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben