if-bedinung in actionperformed

guzz1887

Neues Mitglied
Hallo zusammen,

leider bin ich langsam mit meinem Latein am Ende und bräuchte dringend ein paar Tipps. Ich bekomme es einfach nicht hin die drei Werte aus den JTextField auszulesen und per if-bedinung zu überprüfen, ob der Gesamtwert über 20 liegt und wenn nicht diesen per Schleife auf 20 herauf zählen zu lassen. Ich bin für jeden Ansatz dankbar!

lg

Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;


public class zahlenEinlesenPRE2 extends JFrame implements ActionListener {
  JLabel firstLabel   = new JLabel("Erste Zahl:           "); 
  JLabel secondLabel  = new JLabel("Zweite Zahl:          ");
  JLabel thirdLabel   = new JLabel("Dritte Zahl:          ");
  //JLabel fourthLabel  = new JLabel("Vierte Zahl:          ");
  JLabel ausgabeLabel = new JLabel("Ausgabe:              ");
  

  JTextField inErsteZahl    = new JTextField( 5 ); 
  JTextField inZweiteZahl   = new JTextField( 5 );
  JTextField inDritteZahl   = new JTextField( 5 );
  //JTextField inVierteZahl   = new JTextField( 5 );
  JTextField ausgabeZahl    = new JTextField( 5 );
  JButton enter = new JButton("Summe");  
  int ersteZahl;
  int zweiteZahl; // Beschreiben!!!
  int dritteZahl;
  
 // int vierteZahl;

  public zahlenEinlesenPRE2()
  {
    setTitle( "Zahlen" );
    getContentPane().setLayout( new FlowLayout() );
    getContentPane().add( firstLabel );
    getContentPane().add( inErsteZahl );
    getContentPane().add( secondLabel );
    getContentPane().add( inZweiteZahl );     
    getContentPane().add( thirdLabel );
    getContentPane().add( inDritteZahl );
    //getContentPane().add( fourthLabel );
    //getContentPane().add( inVierteZahl );
    getContentPane().add( ausgabeLabel );
    getContentPane().add( ausgabeZahl );
    ausgabeZahl.setEditable( false );
    getContentPane().add( enter );
    enter.addActionListener( this );
  }
 // Ab hier liegt der Hund begraben! 
  public void actionPerformed( ActionEvent evt)
  {
    String userIn ;
    userIn       = inErsteZahl.getText()  ;
    ersteZahl    = Integer.parseInt(userIn) ;
    userIn       = inZweiteZahl.getText()  ;    
    zweiteZahl   = Integer.parseInt(userIn) ;
    userIn       = inDritteZahl.getText()  ;
    dritteZahl   = Integer.parseInt(userIn) ;
    //userIn       = inVierteZahl.getText()  ;
    //vierteZahl   = Integer.parseInt(userIn) ;
       
    ausgabeZahl.setText(Integer.toString(ersteZahl + zweiteZahl + dritteZahl));
    
    if(Integer.toString(ersteZahl + zweiteZahl + dritteZahl) < 20){
        System.out.println();
   
    enter.setText("Erfolgreich!"); 
   
    //System.out.println(Integer.toString(ersteZahl + zweiteZahl + dritteZahl));
    }
    repaint();
  }
  public static void main ( String[] args )
  {
    zahlenEinlesenPRE2 fatApp  = new zahlenEinlesenPRE2() ;
    WindowQuitter wquit = new WindowQuitter();
    fatApp.addWindowListener( wquit );
    fatApp.setSize( 200, 200 );
    fatApp.setVisible( true );
  }
}
class  WindowQuitter  extends WindowAdapter
{
  public void windowClosing( WindowEvent e )
  {
    System.exit( 0 );
  }
}
 

Marco13

Top Contributor
Java:
 int zweiteZahl; // Beschreiben!!!
Nein. Lieber so lokal wie möglich deklarieren (genau wie die Strings). Also nur in der Methode, in der sie gebraucht werden.

Beschreib' :)D) lieber mal genauer, was nicht funktioniert.
 

jgh

Top Contributor
Java:
if ((ersteZahl + zweiteZahl + dritteZahl) < 20) {...

du hast doch aus den Strings schon ints gemacht....
 

guzz1887

Neues Mitglied
Also die ints (ersteZahl, zweiteZahl, ...) habe ich bereits deklariert, damit ich überhaupt 3 Zahlen eingeben und zusammenrechnen lassen kann. Mein Problem ist nun (ganz einfach;-)), dass ich es nicht hinbekomme per if-abfrage die 3 eingegeben Werte zu überprüfen, ob es mind. einen Gesamtwert von 20 ergibt und wenn nicht bspw. einen Fehler ausgibt wie "Äh, sind keine 20 - bitte nochmal versuchen!".

Java:
    ausgabeZahl.setText(Integer.toString(ersteZahl + zweiteZahl + dritteZahl));

Deswegen habe ich die "ausgabeZahl" deklariert, um dann einfach per if das Ergebnis zu prüfen und dann ggf. einen Fehler bzw. Hinweis anzeigen zu lassen.
 

bERt0r

Top Contributor
Hast du das "else" vergessen?
Java:
int ergebnis = ersteZahl + zweiteZahl + dritteZahl;

if(ergebnis < 20){
        System.out.println("Erfolgreich");
   
    enter.setText("Erfolgreich!"); 
   
    System.out.println(Integer.toString(ersteZahl + zweiteZahl + dritteZahl));
    }
else
{
System.out.println("Zahlen zu groß");
enter.setText("Nicht Erfolgreich");
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JavaFX Slider soll Value erst ab einer bestimmten Bedinung aendern AWT, Swing, JavaFX & SWT 19
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
G lastFocusedComponent in ActionPerformed AWT, Swing, JavaFX & SWT 4
B AWT actionPerformed Method funktioniert nicht AWT, Swing, JavaFX & SWT 12
K Event Handling Mit ActionPerformed und java.io arbeiten AWT, Swing, JavaFX & SWT 3
Q AWT Methodenaufruf aus actionPerformed-Methode AWT, Swing, JavaFX & SWT 4
L ActionPerformed Variable übergeben AWT, Swing, JavaFX & SWT 3
J in actionPerformed() Koordinaten ändern AWT, Swing, JavaFX & SWT 9
C actionPerformed mit mehren Aktionen AWT, Swing, JavaFX & SWT 3
C Actionperformed funktioniert nicht AWT, Swing, JavaFX & SWT 13
H actionPerformed aufteilen AWT, Swing, JavaFX & SWT 12
P Swing actionPerformed()-Methode funktioniert nicht AWT, Swing, JavaFX & SWT 3
S AWT Java actionPerformed "Ok" Button AWT, Swing, JavaFX & SWT 4
V Labeltext ändert sich nicht in actionPerformed AWT, Swing, JavaFX & SWT 5
M actionPerformed() wird zu oft aufgerufen AWT, Swing, JavaFX & SWT 10
M Arbeiten mit actionPerformed(ActionEvent) oder Alternative AWT, Swing, JavaFX & SWT 7
M Swing Anfängerfrage: ActionPerformed AWT, Swing, JavaFX & SWT 3
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
B actionPerformed Problem AWT, Swing, JavaFX & SWT 3
D JTree DefaultMutableTreeNode ActionPerformed AWT, Swing, JavaFX & SWT 3
J Aus ActionPerformed ein Plugin starten AWT, Swing, JavaFX & SWT 4
R paintComponent direkt bei actionPerformed aufrufen AWT, Swing, JavaFX & SWT 2
S ActionPerformed Fehler... AWT, Swing, JavaFX & SWT 9
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
J Action before actionPerformed! AWT, Swing, JavaFX & SWT 4
E ActionListener/actionPerformed() feuert nicht AWT, Swing, JavaFX & SWT 2
E AWT Implementierung einer Anweisung in Methode ActionPerformed AWT, Swing, JavaFX & SWT 2
B Komisches Problem mit actionPerformed() AWT, Swing, JavaFX & SWT 2
K Swing: 2 Buttons und actionPerformed AWT, Swing, JavaFX & SWT 4
B actionPerformed reagiert nicht auf das Canvas-objekt AWT, Swing, JavaFX & SWT 11
B Objekt in "actionPerformed" erzeugen und nutzen AWT, Swing, JavaFX & SWT 3
F actionPerformed und static? AWT, Swing, JavaFX & SWT 20
B Exceptions in actionPerformed() weiterleiten AWT, Swing, JavaFX & SWT 9
S Variablenübergabe bei actionPerformed funktioniet nicht? AWT, Swing, JavaFX & SWT 12
X actionPerformed in einer Klasse Buttons AWT, Swing, JavaFX & SWT 2
T public void actionPerformed(...) ist statisch?? AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben