我试图创建一个程序员计算器(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.请帮助:)
答案 0 :(得分:0)
每次按下计算器按钮都会调用actionperformed()。将prev作为一个全局变量并使用它,否则你会像你提到的那样重新初始化。
答案 1 :(得分:0)
每次您执行某项操作(从而输入actionPerformed()
)时,prev
的值都会返回0
,因为会创建一个新的基元prev
解决方案是将初始化移到actionPerformed()
int prev = 0;
public void actionPerformed(ActionEvent ae) {
// Stuff
}