on1*_*222 0 java static variable-declaration
我正在使用制作一个简单的高分系统代码 -  Codecall,但我在使用它时收到错误.导致问题的一行是在HighScoreManager()课堂内.
这是错误的代码:
public String getHighscoreString() {
    String highscoreString = "";
    Static int max = 10; // this line gives an error
    ArrayList<Score> scores;
    scores = getScores();
    int i = 0;
    int x = scores.size();
    if (x > max) {
        x = max;
    }
    while (i < x) {
        highscoreString += (i + 1) + ".\t" + scores.get(i).getNaam() + "\t\t" + scores.get(i).getScore() + "\n";
        i++;
    }
    return highscoreString;
}
Run Code Online (Sandbox Code Playgroud)
线路Static int max = 10;抛出
不是声明
使用小写"s"(static)抛出
非法开始表达
如果我删除Static它的工作原理.我不知道天气会对代码产生很大影响.使用小写的"s"也不起作用,并且大写Static是来自具有代码的网站的内容,所以我不知道他们为什么用大写字母S写它.
您的代码中存在一个常见错误和一个非法字段声明:
首先,通常:它总是static,而不是Static.static应该是小写的.Java不会将其识别为关键字.你可以在这里阅读java中的区分大小写.
非法字段声明:编译后,我删除了完美执行的代码static从关键字int max = 10;在你的HighscoreManager.class小号getHighscoreString()方法.
另外HighscoreManager.class,我用了Main.class,并Score.class和ScoreComparator.class从你引用的网站,持平.
为什么会这样?
您不能在方法中声明字段静态.默认情况下不允许这样做.
您可以阅读有关该主题的这篇文章.
输出是:
1.  Marge       300
2.  Lisa        270
3.  Bart        240
4.  Maggie      220
5.  Homer       100
Run Code Online (Sandbox Code Playgroud)