Java 单击按钮时如何停止不断覆盖变量?
我正在尝试制作一个简单的计算器,这样当按下+按钮时,它会将两个变量相加,但每当调用按钮的侦听器时,它就会重置我先前想要存储的变量。我怎样才能避开这件事Java 单击按钮时如何停止不断覆盖变量?,java,variables,input,event-handling,listener,Java,Variables,Input,Event Handling,Listener,我正在尝试制作一个简单的计算器,这样当按下+按钮时,它会将两个变量相加,但每当调用按钮的侦听器时,它就会重置我先前想要存储的变量。我怎样才能避开这件事 public void actionPerformed(ActionEvent e) { int accumulator1 = 1; int userinput; if(e.getSource()==input) { userinput = Integer.parseInt(input
public void actionPerformed(ActionEvent e)
{
int accumulator1 = 1;
int userinput;
if(e.getSource()==input)
{
userinput = Integer.parseInt(input.getText());
System.out.println(userinput);
}
if(e.getSource()==add)
{
accumulator1 = userinput + accumulator1;
System.out.println(accumulator1);
System.out.println(userinput);
accumulator.setText(String.valueOf(accumulator1));
}
}
似乎您只需要将累加器1从函数中取出,并为其指定一个全局范围。因此,当您第一次声明它时,将其设置为1,
public void actionPerformed
只添加到它,而不声明/重新初始化它。(除非我完全误解了正在发生的事情…!)您可能想指出您正在使用哪种编程语言…嗯,有点不对劲。问题实际上在于用户输入。我需要全局初始化,但当我尝试初始化时,public void actionPerformed会拒绝它的任何实例!嗨,是的,刚刚试过,必须在全球范围内初始化,现在可以享受了,谢谢!