Hallo.
Ich bin blutiger Anfänger mit Java und habe ein Problem,
bei dem ich absolut nicht weiter weiß. Und zwar sollen wir vom Informatikunterricht einen Taschenrechner mit dem WindowBuilder programmieren. Das einlesen der ersten Zahl, die man über Buttons eingeben kann, funktioniert auch so weit, jedoch will Java die zweite Zhal partout nicht einlesen. Ich sitze jetzt seit einer gefühlten Ewigkeit vor meinem Quellcode und kann mir selbst nicht helfen. Der Fehler muss darin liegen, dass er "z2" einfach nicht bekommt, aber ich weiß nicht warum, weil es bei "z1" ja klappt.
Der Fehler sollte bei Z160 liegen, da die Meldung erscheint: Fehler2.zahl .
Ich danke euch im Vorraus!
LG und Frohe Ostern
Ich bin blutiger Anfänger mit Java und habe ein Problem,
bei dem ich absolut nicht weiter weiß. Und zwar sollen wir vom Informatikunterricht einen Taschenrechner mit dem WindowBuilder programmieren. Das einlesen der ersten Zahl, die man über Buttons eingeben kann, funktioniert auch so weit, jedoch will Java die zweite Zhal partout nicht einlesen. Ich sitze jetzt seit einer gefühlten Ewigkeit vor meinem Quellcode und kann mir selbst nicht helfen. Der Fehler muss darin liegen, dass er "z2" einfach nicht bekommt, aber ich weiß nicht warum, weil es bei "z1" ja klappt.
Der Fehler sollte bei Z160 liegen, da die Meldung erscheint: Fehler2.zahl .
Java:
package trechner;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class TR1 extends JFrame {
private JPanel contentPane;
private JTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TR1 frame = new TR1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public TR1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBackground(Color.LIGHT_GRAY);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setBounds(10, 11, 392, 52);
contentPane.add(textField);
textField.setColumns(10);
JButton button = new JButton("1");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + 1);
}
});
// 2 -0 ist jetzt rausgeschnitten der Kürze halber
button_8.setBounds(7, 176, 89, 23);
contentPane.add(button_8);
JButton btnClear = new JButton("Clear");
btnClear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText("");
}
});
btnClear.setBounds(313, 210, 89, 23);
contentPane.add(btnClear);
JButton btnNewButton_1 = new JButton("+");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + "+");
}
});
btnNewButton_1.setBounds(313, 74, 89, 23);
contentPane.add(btnNewButton_1);
JButton button_9 = new JButton("-");
button_9.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + "-");
}
});
button_9.setBounds(313, 108, 89, 23);
contentPane.add(button_9);
JButton button_10 = new JButton("*");
button_10.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + "*");
}
});
button_10.setBounds(313, 176, 89, 23);
contentPane.add(button_10);
JButton button_11 = new JButton("/");
button_11.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + "/");
}
});
button_11.setBounds(313, 142, 89, 23);
contentPane.add(button_11);
JButton button_12 = new JButton("=");
button_12.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + "=");
char a = 0, r = 0, g = 0;
String z1 = "", z2 = "";
int merker1 = 0, merker2 = 0;
double zahl1 = 0, zahl2 = 0, ergebnis = 0;
for (int i = 0; i < s.length(); i++) {
a = s.charAt(i);
if (a == '+') {
merker1 = i;
r = '+';
}
if (a == '-') {
merker1 = i;
r = '-';
}
if (a == '*') {
merker1 = i;
r = '*';
}
if (a == '/') {
merker1 = i;
r = '/';
}
if (a == '=') {
merker2 = i;
g = '=';
}
}
for (int i = 0; i < merker1; i++) {
z1 = z1 + s.charAt(i);
}
for (int i = merker2 + 1; i < merker2; i++) {
z2 = z2 + s.charAt(i);
}
System.out.println("1.Zahl : " + z1 + " 2.Zahl : " + z2);
try {
zahl1 = Double.parseDouble(z1);
} catch (Exception e) {
System.out.println("Fehler bei der Eingabe!");
}
try {
zahl2 = Double.parseDouble(z2);
} catch (Exception e) {
System.out.println("fehler2.zahl");
}
if (r == '+') {
ergebnis = zahl1 + zahl2;
System.out.println("Ergebnis : " + ergebnis);
} else if (r == '-') {
ergebnis = zahl1 - zahl2;
System.out.println("Ergebnis : " + ergebnis);
} else if (r == '*') {
ergebnis = zahl1 * zahl2;
System.out.println("Ergebnis : " + ergebnis);
} else if (r == '/') {
ergebnis = zahl1 / zahl2;
System.out.println("Ergebnis : " + ergebnis);
} else {
System.out.println("Fehlerhafte Eingabe!");
}
}
});
button_12.setBounds(205, 176, 89, 23);
contentPane.add(button_12);
JButton button_13 = new JButton(".");
button_13.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String s = textField.getText();
textField.setText(s + ".");
}
});
button_13.setBounds(106, 176, 89, 23);
contentPane.add(button_13);
}
}
Ich danke euch im Vorraus!
LG und Frohe Ostern