每次在java中满足if条件时,都会增加变量的值

时间:2015-08-14 11:38:10

标签: java if-statement

我是java编程的初学者,我使用的是GUI构建器。我正在编写一个简单的文本加扰类型的程序,我想要发生的是每次我从标签列表中输入一个单词时,该单词将被附加到文本区域和某个值(这是初始化为0)增加1;一旦值达到5,将出现一个消息框,并调用另一个JFrame表单(稍后将添加此部分)。

当我输入第一个单词时,该值会增加1.现在我的问题是每次输入另一个单词时,该值都保持为1.我使用if-else语句和我尝试用switch语句做但没有用。

这是我在提交按钮中输入的代码

private void btnSubmitActionPerformed(java.awt.event.ActionEvent evt) {
String wordinp = txtfield1.getText();
int v=0;

if (wordinp.equals("bar")){
 txtarea1.append(label1.getText());
 label1.setVisible(true);
 v=v+1;
 labelval.setText(Integer.toString(v));
}

else if (wordinp.equals("bare")){
 txtarea.append(label2.getText());
 label2.setVisible(true);
 v=v+1;
 labelval.setText(Integer.toString(v));
}

else if (wordinp.equals("")||wordinp.equals(" ")){
 JOptionPane.showMessageDialog(null, "Please input word");
}

else {
 JOptionPane.showMessageDialog(null, "Invalid word");
}

if (v==2){
    JOptionPane.showMessageDialog(null, "Congrats!");
}
}

每次输入新单词时,有没有办法让值增加?

2 个答案:

答案 0 :(得分:0)

您已创建了一个局部变量,每次初始化值为0,并以1为增量。

使用实例变量代替局部变量,每次输入actionPerformed时都不要将其重置为0

答案 1 :(得分:0)

变量v在方法内部。要计算插入的值(单词)的数量,您需要将变量声明为实例变量或静态变量。

静态变量的优点(不利)是,只要加载了类,它就会保持该值。如果是实例变量,您可以计算每个实例插入的单词数。

private int v;
private static int v;