java - 如何在不同的方法上使用变量集?

标签 java swing

在我的代码中,无法通过其他方法访问变量“targetNumber”。我怎样才能使它成为可能? 在方法“jButton3Action...”中,我设置了变量。在方法“jButton1Action...”中,我尝试调用它,但它返回一个错误:

Cannot find symbol Symbol: variable targetNumber location: class ggui

public static int randInt(int min, int max){
    Random rand = new Random();

    int targetNumber = rand.nextInt((max - min) + 1) + min;

    return targetNumber;
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    final int targetNumber = randInt(1, 10000);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:

    String tooHigh = "Too High!";
    String tooLow = "Too Low!";
    String gotIt = "Got it!";
    int guess;
    guess = Integer.parseInt(jTextField1.getText());

    if (!(guess == targetNumber)){
        guess = Integer.parseInt(jTextField1.getText());
        if(guess > targetNumber){
            resultField.setText(String.valueOf(tooHigh));
        }
        else if(guess < targetNumber){
            resultField.setText(String.valueOf(tooLow));
        }

    }
    else{
        resultField.setText(String.valueOf(gotIt));
    }

最佳答案

不必搞乱范围,而是将变量设置为类的私有(private)字段,以便所有方法都可以访问它。这对所有方法都很方便,并且会删除不必要的代码。像这样使用它:

private int targetNumber;

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {中执行以下操作:

targetNumber = randInt(1, 10000);

在程序的其余部分中,代码应该按预期执行。 另外,不要在 randint() 中调用变量:targetNumber,因为编译器可能会混淆您在 return 语句中引用的是哪个变量。

关于java - 如何在不同的方法上使用变量集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39259037/

相关文章:

java - 消失的GUI java

java - 在运行时从另一个类中调用 JPanel

java - Tomcat、mod_jk、Plesk 和 SSL 设置问题

java - 使用 IntelliJ IDEA GUI 设计器在 $$$setupUI$$$ 处出现 NullPointer 异常

java - 如何在运行时过滤 java 对象列表,其中我要过滤的变量事先未知?

java - 监听 JTextArea 按下的按键

java - 在 Java 中重定向子进程的 I/O(为什么 ProcessBuilder.inheritIO() 不起作用?)

java - 一旦在客户端浏览器上呈现,如何在服务器端存储完整网页的副本?

java - JLabel 中的超链接

Java Swing 如何在自定义 ColorChooserPanel 中创建颜色样本?