его в основном события кнопки, что делает умножениепочему это делает бросить исключение Числового формата
mul.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if(Sans == null){
temp = text;
}else {
temp = Sans ;
}
text = "";
equal = "mul" ;
textArea.setText("*");
}
});
this is the action that happens when pressing equal button
ans.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if(equal == "mul"){
double a = Double.parseDouble(text);
double b = Double.parseDouble(temp);
double ans = b*a;
String Sans = String.valueOf(ans);
textArea.setText(Sans);
text = "" ;
}
}
этот код дает результат для первого умножения, но дает NumberFormatException на последовательном умножении тот же код работает отлично делает операция деления.
ошибка в вашем коде: Не используйте '' == для сравнения строк. 'if (equal ==" mul ")' неверно; используйте 'if (equal.equals (" mul "))' вместо. – Jesper
NFE бросается, когда вы пытаетесь разобрать то, что не является числом. Если вы добавите полный стек, мы сможем вам помочь. – BobTheBuilder
Сделайте некоторые отладки. Либо используйте ваш отладчик в среде IDE, либо установите точку останова в первой строке Double.parseDouble или добавьте System.out.printlns (я думаю, что вас интересует значение текста и темпа, тогда вы увидите, что не так). –