1 回答
TA贡献1824条经验 获得超5个赞
好的,除此之外,您的代码还有这个问题:
我注释掉了我们还没有的部分,它起作用了:
public static void main(String[] args) {
int scr = score();
// questionOne();
// questionOneAnswer();
System.out.println("Your score is " + scr);
System.exit(0);
}
我不知道你为什么叫 questionOneAnswer(); 第二次(一次在 score 中 - 您将值分配给临时变量)并再次在 main 中,您甚至没有将返回的布尔值分配给任何东西。
public static int score() {
boolean qOneCheck = questionOneAnswer();
int currentScore = 0;
int oldScore = 0;
int newScore = 0;
// int random = randomGen();
if (qOneCheck == true) {
// currentScore = currentScore + random;
currentScore = currentScore + 1;
newScore = currentScore;
} else {
currentScore = oldScore;
newScore = currentScore;
}
return newScore;
}
这其中大部分是垃圾。每次调用 score() 时,新旧都设置为 0。
就像是:
static int runningTotal = 0;
public static int score() {
if (questionOneAnswer()) runningTotal++;
}
或者用一块石头杀死两只鸟:
public static void main(String[] args) {
score();
System.out.println("Your score is " + scr);
System.exit(0);
}
static int scr = 0;
public static int score() {
if (questionOneAnswer()) scr++;
}
也是 questionOneAnswer(); 中的默认值;不应该是真的,应该是假的,然后你可以解决我提出的问题(虚假输入将是假的)。但更重要的是,我们也可以将方法归结为:
public static boolean questionOneAnswer() {
String i = input();
return i.equalsIgnoreCase("B");
}
我没看输入法。
TLDR:注释掉 main 方法中的两行多余的行以及 randomgen 认为它正在做的任何事情似乎都解决了问题。
添加回答
举报