因此,在单击功能按钮后,我的程序将当前数字(num1)存储在计算器上,然后存储选择的功能。当按下等于按钮时,它应该确定选择的最后一个函数是什么并将其应用于前一个数字和当前数字(num2)并显示解决方案,请帮助。我不认为 equals 部分中的代码正在执行,因为我放在 if(lastButtonPressed == bDivide) 下的 println 没有打印。所以事实证明 lastButtonPressed 没有被更新。不知道为什么。
1 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
所以事实证明 lastButtonPressed 没有被更新
public void actionPerformed(ActionEvent e)
{
Object buttonPressed = e.getSource();
Object lastButtonPressed = null;
它正在更新,但问题是您更新该值,然后在下次调用 ActionListener 时将该值重置为 null。
因此,每次调用 ActionListener 时,您都会丢失有关最后按下的按钮的信息。
另外,不要使用“==”来比较字符串。
if(input.getText() == "0"){
而是使用该equals(...)方法。
if ("0".equals(input.getText()) {
注意我也颠倒了顺序。这将防止 input.getText() 方法返回空对象时出现错误。
添加回答
举报
0/150
提交
取消