问:我一直收到这个无法修复的怪异错误
./Prompter.java:36:错误:')'预期的
mGame.getRemainingTries();
^
./Prompter.java:37:错误:';' 预期的
mGame.getCurrentProgress());
^
代码 :
导入java.io.Console;
公共类Prompter {
私人游戏mGame;
公共提示(游戏){
mGame =游戏;
}
public void play(){
while(mGame.getRemainingTries()> 0){
displayProgress();
hintForGuess();
}
}
public boolean hintForGuess(){
Console console = System.console();
布尔值isHit = false;
boolean isValidGuess = false;
while(!isValidGuess){
字符串guessAsString = console.readLine(“输入字母”);
字符猜测= guessAsString.charAt(0);
尝试{
isHit = mGame.applyGuess(guess);
isValidGuess = true;
} catch(IllegalArgumentException iae){
console.printf(“%s。请重试。\ n”,iae.getMessage());
}
}
返回isHit;
}
public void displayProgress(){
System.out.printf(“%d 还想解决:%s \ n”,
mGame.getRemainingTries();
mGame.getCurrentProgress());
}
}
答:就像我怀疑的那样,您有不必要的分号。代替这个:
public void displayProgress () {
系统。出来。的printf (“你有%d试图留下来解决:%S \ n” ,MGAME 。getRemainingTries (); //分号不应该在这里MGAME 。getCurrentProgress ()); }
应该是这样的:
public void displayProgress () {
系统。出来。的printf (“您有%d剩余尝试次数来解决:%S \ n”个,MGAME 。getRemainingTries (),//逗号分隔的方法MGAME 。getCurrentProgress ()); }