有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我的分数变量不能在GameScreen类之外评估?

不同类别

package battleship;


public class GameSum extends javax.swing.JFrame {


    public GameSum() {
        initComponents();
        J_time.setText(score);
    }



package battleship;

public class GameScreen extends javax.swing.JFrame {


    protected int score;

    public GameScreen() {
        initComponents();

    }   
private void B_checkActionPerformed(java.awt.event.ActionEvent evt) {                                        

       if (score < getHS(0) && score < hs[1])  {setHS(0, score, nickname);  }
       for (int loop = 0; loop<5; loop++)
       {
       if(score > hs[loop] && score < hs[loop+1]) {setHS(loop+1, score, nickname); }   
       }
    }  

共 (3) 个答案

  1. # 1 楼答案

    您应该学习Java中的access modifiers。您必须创建一种访问变量的方法(创建publicseter和publicgetter)或使变量public

    请按照此链接参考关于access modifiers

  2. # 2 楼答案

    因为您的变量不是公共的,或者没有可用的公共getter

    在Gamescreen中,只需执行以下操作:

    public int getScore() {
        return score;
    }
    

    并在GameSum中调用此函数

    顺便说一句,我不想听起来粗鲁,但如果这是你真正的缩进/代码约定,那真的是不可恢复的。 如果使用大括号,请尝试正确缩进,将if的内容放在新行上,如果是单行块,则放在不带大括号的同一行上。只要我的两分钱