Creating Java



我收到此代码的编译错误:

public class Matching {        
    public static int match = (int) Math.floor(Math.random()*cities.size()); //Error is here
}

我想使"匹配"成为全局变量。

我的编译错误是:

"内部类测试程序中的非法静态声明程序.匹配修饰符'static'只允许在常量变量声明中

在初始化期间使用静态非最终变量。

不知道

错误意味着什么,我也不知道如何解决它。

发生这种情况是因为您的Matching类位于另一个名为 testingProgram 的类中,并且不static

Java 仅当内部类

本身static时才允许在内部类中static字段。您可以通过多种方式解决此问题:

  • 通过使Matching成为static内部类,
  • 通过使Matching成为顶级类,或
  • 通过使static int match最终,即 final static int match

在某个静态类(例如main(中创建变量,并确保它传递给此类的构造函数。我不知道你为什么要这样做,但它很困难的原因是因为这不是一个好主意。如果您需要保存"匹配"的状态,请提供更多信息。

public static void main() {
    int match;
    Matching m = new Matching(match);
}

相关内容

  • 没有找到相关文章

最新更新