【发布时间】:2016-12-16 17:30:40
【问题描述】:
我是 Java 和整体编程的新手,所以请多多包涵。在下面的代码中,当我运行 object.ValidateGuess() 时,我被提示 3 次“请输入要猜测的字母:”。这是为什么?是不是因为我在 if 语句中使用了 GetGuess() 方法?我只想使用该方法的返回,而不是让它每次都运行。 提前感谢
public char GetGuess(){
System.out.println("Please enter a letter to be guessed");
Scanner guess = new Scanner(System.in);
return guess.nextLine().charAt(0);
}
public boolean ValidateGuess(){
boolean isHit = false;
int triesLeft = MAX_TRIES;
if (mCorrectAnswer.indexOf(GetGuess()) < 0 ){
System.out.println("Your guess was incorrect");
triesLeft -= 1;
System.out.println(triesLeft);
mMisses += GetGuess();
} else if (GetGuess() == (int)GetGuess()) {
System.out.println("you have to input a letter!!!");
} else {
mHits += GetGuess();
isHit = true;
}
【问题讨论】:
-
然后将返回值放入一个变量中,并让
if条件涉及该变量,而不是调用方法本身。方法调用就是这样:它调用方法。 -
因为该方法同时在 if 条件和 else 条件下执行。
标签: java if-statement methods return