Hey Leute,
ich wollte heute ein grafisches Zahlenratenprogramm schreiben.
Soweit so gut... das Programm an sich ist fertig, nur wenn ich eine Zahl eingebe, diese prüfe und anschließend die Nachricht ausgeben möchte, wirft mir Eclipse den else Zweig der If Abfrage entgegen...
Ich finde den Fehler selbst nicht, bzw. denke, dass ich alles richtig geschrieben habe.
Könnte evtl. jemand darüber schauen und mir sagen, an welcher Stelle ich einen Fehler eingebaut habe?
Oder ob ich die prüfen Funktion direkt als eigene Methode ausweisen soll?
Für eine Antwort wäre ich dankbar.
Hier der Code:
[/code]
ich wollte heute ein grafisches Zahlenratenprogramm schreiben.
Soweit so gut... das Programm an sich ist fertig, nur wenn ich eine Zahl eingebe, diese prüfe und anschließend die Nachricht ausgeben möchte, wirft mir Eclipse den else Zweig der If Abfrage entgegen...
Ich finde den Fehler selbst nicht, bzw. denke, dass ich alles richtig geschrieben habe.
Könnte evtl. jemand darüber schauen und mir sagen, an welcher Stelle ich einen Fehler eingebaut habe?
Oder ob ich die prüfen Funktion direkt als eigene Methode ausweisen soll?
Für eine Antwort wäre ich dankbar.
Hier der Code:
Java:
[code]
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Zahlenraten_grafisch extends JFrame implements ActionListener
{
String a="Bitte geben Sie eine Zahl ein: ";
String b="Ihre Eingabe war zu niedrig";
String d="Ihre Eingabe war zu groß";
JButton pruefen,b2;
JLabel anzeige,ausgabe;
JTextField eingabe;
Container c;
private static final long serialVersionUID = 1L;
public Zahlenraten_grafisch(String titel)
{
c=getContentPane();
setLayout(new GridLayout(2,3));
setSize(400, 300);
setLocation(200, 200);
pruefen=new JButton("Prüfen");
pruefen.addActionListener(this);
anzeige=new JLabel("Bitte geben Sie eine Zahl ein: ");
anzeige.setAlignmentX(RIGHT_ALIGNMENT);
anzeige.setAlignmentY(CENTER_ALIGNMENT);
ausgabe=new JLabel();
ausgabe.setOpaque(true);
ausgabe.setBackground(Color.WHITE);
eingabe=new JTextField();
c.add(anzeige);
c.add(eingabe);
c.add(pruefen);
c.add(ausgabe);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new Zahlenraten_grafisch("Zahlenraten GUI");
}
Random rnd = new Random();
int zahl=rnd.nextInt(101);
@Override
public void actionPerformed(ActionEvent e)
{
if((e.getActionCommand().equals("prüfen"))&&(eingabe.getText()!=null))
{
int zahl2=Integer.parseInt(eingabe.getText());
if(zahl2<zahl)
{
ausgabe.setText(b);
}
else if(zahl2>zahl)
{
ausgabe.setText(d);
}
else
{
ausgabe.setText("Ihre Eingabe war korrekt! :-)");
}
}
else
{
String f="Fehler!";
JOptionPane.showMessageDialog(null, "Sie müssen erst eine Eingabe tätigen",f,JOptionPane.ERROR_MESSAGE);
}
}
}