Bender86
Lieutenant
- Registriert
- Jan. 2007
- Beiträge
- 718
Moinsen!
Ich habe mir grade ein kleines AWT Progrämmchen geschrieben, dass das Quadrat einer Zahl berechnet. Uiuiuiui...
Das ganze sieht grade so aus:
Aaalso der Punkt ist nun folgender: Im TextField "field" kann man ja nun etwas eingeben und davon soll das Quadrat berechnet werden. Eine Abfrage ob die Eingabe leer war hab ich schon gemacht. Jetzt will ich aber auch, dass sobald die Eingabe nicht ausschließlich aus Zahlen besteht eine Fehlermeldung ala "Ungültige Eingabe" oder sowas ausgegeben wird.
Das einzige was mir jetzt einfällt, wäre mit charAt() den String zu durchlaufen und jedesmal mit if-Vergleich mit allen Zahlen zu vergleichen, aber da gibts doch bestimmt schon eine von Java vorgegebene Methode oder?
Ich habe mir grade ein kleines AWT Progrämmchen geschrieben, dass das Quadrat einer Zahl berechnet. Uiuiuiui...

Code:
/**
* Die Klasse Quadrier.
*
* @author Andreas Bender
* @version 0.4
*/
import java.awt.*;
import java.awt.event.*;
public class Quadrier extends Frame {
// Deklarieren der Variable "field", damit sie später bei der Berechnung
// verwendet werden kann
TextField field;
public Quadrier() {
// Header und Buttons definieren
super("Der ultimative Quadrierer");
Label header = new Label("Bitte eine Zahl eingeben");
field = new TextField("Zahl", 10);
Button calcButton = new Button("Berechnen");
Button exit = new Button("Beenden");
// Action Listener erzeugen
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Beenden")) {
dispose();
System.exit(0);
}
else if(e.getActionCommand().equals("Berechnen")) {
calculateQuad();
}
}
};
// Action Listener an die Buttons binden
exit.addActionListener(listener);
calcButton.addActionListener(listener);
Panel container = new Panel();
container.setLayout(new FlowLayout());
container.add(header);
container.add(field);
container.add(calcButton);
container.add(exit);
this.add(container);
this.enableEvents(AWTEvent.WINDOW_EVENT_MASK);
}
// Berechnung und Ausgabe des Quadrates
protected void calculateQuad() {
if(!field.getText().isEmpty()) {
int number = Integer.parseInt(field.getText());
int quad = number * number;
System.out.println("" + number + " zum Quadrat ist: " + quad + "");
} else {
System.out.println("Bitte geben sie eine Zahl ein!");
}
}
// Ermöglicht das Schließen des Fensters über den Schließen-Button
protected void processWindowEvent(WindowEvent e) {
if(e.getID() == WindowEvent.WINDOW_CLOSING) {
dispose();
System.exit(0);
}
}
// Erzeugt ein neues Quadrier-Objekt und macht es sichtbar
public static void main() {
Quadrier q = new Quadrier();
q.pack();
q.setVisible(true);
}
}
Aaalso der Punkt ist nun folgender: Im TextField "field" kann man ja nun etwas eingeben und davon soll das Quadrat berechnet werden. Eine Abfrage ob die Eingabe leer war hab ich schon gemacht. Jetzt will ich aber auch, dass sobald die Eingabe nicht ausschließlich aus Zahlen besteht eine Fehlermeldung ala "Ungültige Eingabe" oder sowas ausgegeben wird.
Das einzige was mir jetzt einfällt, wäre mit charAt() den String zu durchlaufen und jedesmal mit if-Vergleich mit allen Zahlen zu vergleichen, aber da gibts doch bestimmt schon eine von Java vorgegebene Methode oder?