Java程序员的计算器(在if语句中初始化)

时间:2015-11-22 14:19:42

标签: java if-statement initialization

我试图创建一个程序员计算器(GUI),将一个基本形式的值转换为另一个基本形式。

这是我的动作听众片段,我遇到了困难

var nodes = [
        {id: 0, reflexive: false},
        {id: 1, reflexive: true },
        {id: 2, reflexive: false}
    ],
    links = [
        {source: nodes[0], target: nodes[1], left: false, right: true },
        {source: nodes[1], target: nodes[2], left: false, right: true }
    ];

如您所见,我使用prev来确定该值是二进制,八进制,十六进制还是十进制。

问题是,当我在if语句中初始化prev值时,prev的值会恢复为0.请帮助:)

2 个答案:

答案 0 :(得分:0)

每次按下计算器按钮都会调用actionperformed()。将prev作为一个全局变量并使用它,否则你会像你提到的那样重新初始化。

答案 1 :(得分:0)

每次您执行某项操作(从而输入actionPerformed())时,prev的值都会返回0,因为会创建一个新的基元prev

解决方案是将初始化移到actionPerformed()

之外

解决方案

int prev = 0;
public void actionPerformed(ActionEvent ae) {
    // Stuff
}