日期:2014-05-20  浏览次数:20700 次

一个小计算器中的小问题
private class CommandAction implements ActionListener{

public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if(start){
if(command.equals("-")){
display.setText(command);
start = false;

}else
lastCommand = command;

}else{
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}

}

------解决方案--------------------
按你写的程序解读出来, 可以告诉你 你这个程序有问题.
我下面给红色表的是两个监听器,与问题 有一些无用代码,我给你个程序思路。
strart=true or false 有意思么 点击按钮了 ,就会触发事件了
还有以下这块代码 有意思么 ,点按钮,就触发事件,把符号赋值给字符串不就完了么。用判断么.
 我有说的不对可以指出来.
共同学习,进步么
Java code
    if(start){//如果没有start是true的话进入 条件循环   这里判断的是否点击是符号键
                
                if(command.equals("-")){//判断你是否点的是‘-’号
                    System.out.println("进入了减号");
                    display.setText(command);
                    start = false;
                    
            }else//如果不是'-'号
                lastCommand = command;//把该符号赋值 给lastCommand
            
        }else{//如果不是点击是符号键 的话进入
                calculate(Double.parseDouble(display.getText()));
                lastCommand = command;
                start = true;
            }