我有一个程序,想要为它创建一个简单的高分方法。该方法仅判断当前的点数是否高于之前的点数。
public class Highscore {
public static int Highscore(int poang) {
int count = 0;
int poäng1 = 0;
int poäng2 = 0;
如上所示,计数器设置为0;
。这是为了保存第一个条目。但是,每次使用该方法时,它都会重置为0。我怎么能重新编码呢?以下是代码的其余部分:
if (count == 0) {
poäng1 = poang;
count++;
} else if (count > 0) {
if (poäng2 > poäng1) {
poäng1 = poäng2;
}
}
return poäng1;
}
}
答案 0 :(得分:1)
每次输入块(在您的情况下 - 静态方法)时,都会重新定义(并重新初始化)局部变量。如果您希望它们的值超出该块的范围,则应在其外部定义它们。
在这种情况下,您可以将count
作为(静态)成员:
private static int count = 0;
public static int Highscore(int poang) {
// Code comes here