Я сделал калькулятор, который не умножает и не делит числа
и дай мне исключение:
java.lang.NumberFormatException: для входной строки: "* 7"
плюс и минус не имеют никаких проблем
class ActionListeners implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
int n1 = 0;
int n2 = 0;
int indexno = 0;
if (o == result) {
String s = t1.getText();
String s3 = "";
String s4 = "";
for (int b1 = 0; b1 < s.length(); ++b1) {
if (s.charAt(b1) == '+') {
indexno = s.indexOf('+');
s3 = s.substring(0, indexno);
s4 = s.substring(indexno);
n1 = Integer.parseInt(s3);
n2 = Integer.parseInt(s4);
JOptionPane.showMessageDialog(null, n1 + n2);
}
if (s.charAt(b1) == '-') {
indexno = s.indexOf('-');
s3 = s.substring(0, indexno);
s4 = s.substring(indexno);
n1 = Integer.parseInt(s3);
n2 = Integer.parseInt(s4);
JOptionPane.showMessageDialog(null, n1 + n2);
}
if (s.charAt(b1) == '*') {
indexno = s.indexOf('*');
s3 = s.substring(0, s.indexOf('*'));
s4 = s.substring(indexno);
n1 = Integer.parseInt(s3);
n2 = Integer.parseInt(s4);
JOptionPane.showMessageDialog(null, n1 * n2);
}
if (s.charAt(b1) == '/') {
indexno = s.indexOf('/');
s3 = s.substring(0, s.indexOf('/'));
s4 = s.substring(indexno);
n1 = Integer.parseInt(s3);
n2 = Integer.parseInt(s4);
JOptionPane.showMessageDialog(null, n1 / n2);
}
if (s.charAt(b1) == '/' && n2 == 0) {
JOptionPane.showMessageDialog(null, "Error : cant divide by zero");
}
}
t1.setText("");
}