我是Java新手。這是我的兩個代碼。連續if和nested之間有什麼不同?
1)。
if (!isCorrectGuess(guess) && !isPriorGuess(guess)){
state += 1;
}
if(isCorrectGuess(guess) && !isPriorGuess(guess)){
correctguess += guess;
}
if (!isPriorGuess(guess)){
guessed += guess;
}
return isCorrectGuess(guess) && !isPriorGuess(guess);
2)。
if (!isPriorGuess(guess)){
guessed += guess;
if (isCorrectGuess(guess)){
correctguess += guess;
return true;
}
else{
state += 1;
return false;
}
}
return false;
我覺得他們應該有相同的結果,但似乎我錯了。誰能告訴我這兩個代碼有什麼區別?謝謝!
這是我的作業,第一個代碼未通過測試,但第二個過去。
這裏是我的isCorrect和isPrior代碼:
public boolean isCorrectGuess(char guess) {
return guessWord.indexOf(guess) != -1;
}
public boolean isPriorGuess(char guess) {
return guessed.indexOf(guess) != -1;
}
這是Java還是Javascript? (他們不一樣!)更重要的是,'isCorrectGuess(guess)'和'isPriorGuess(guess)'每次調用時都會返回相同的值?他們中的任何一個都有副作用,可能會改變'guess','state','correguess'或'guessed'的值? –
_「但似乎我錯了」_ - 你爲什麼這麼說? –
謝謝泰德!我認爲它應該是Java,我改變了標籤。這是我的家庭作業,我運行這兩個代碼,第一個測試失敗,但第二個代碼通過。我會發布我的isCorrectGuess和isPriorGuess。 – victor