我是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!");
}
}
每次输入新单词时,有没有办法让值增加?
答案 0 :(得分:0)
您已创建了一个局部变量,每次初始化值为0,并以1为增量。
使用实例变量代替局部变量,每次输入actionPerformed时都不要将其重置为0
答案 1 :(得分:0)
变量v在方法内部。要计算插入的值(单词)的数量,您需要将变量声明为实例变量或静态变量。
静态变量的优点(不利)是,只要加载了类,它就会保持该值。如果是实例变量,您可以计算每个实例插入的单词数。
private int v;
private static int v;