【发布时间】:2018-10-19 23:15:18
【问题描述】:
我正在使用来自Making a simple high-score system - 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;
}
Static int max = 10; 行抛出
不是声明
使用小写“s”(static) 会抛出
表达式的非法开始
如果我删除Static,它会起作用。我不知道这是否会对代码产生重大影响。使用小写的“s”也不起作用,大写的Static是来自有代码的网站,所以我不知道他们为什么用大写的S写。
【问题讨论】:
-
一方面,您不能在方法中使用静态。你认为制作这个静态对你有什么好处?
-
另外,
static是关键字,Static不是。 -
@AndyTurner 我没有编写代码,所以我真的不知道静态应该做什么。并将其更改为小写不起作用,但删除静态完全有效,但如果我这样做,我会搞砸代码吗?
-
我会尝试联系该教程的作者,以了解他们的意图。这段代码显然是错误的。可能该行应该在方法之外(因此将其向上移动两行,并使其成为
static和一个小的s)。但即使修复了这个问题,我也不认为这是一个很棒的教程。代码中有很多不理想的地方。
标签: java static variable-declaration