2017-08-11 73 views
1

我得到這個錯誤,我實際上做了修復它,但我想知道爲什麼它的工作原理。 這裏是我的代碼:實際的和正式的參數列表長度>「%d」不同,可變

class GuessGame{ 
    public void startGame(){ 
     Player p1 = new Player(); 
     Player p2 = new Player(); 
     Player p3 = new Player(); 
     int secretNumber = (int) (Math.random() * 10); 
     while (true){ 
      //int p1Guess = p1.guess(); 
      //p2Guess = p2.guess(); 
      //p3Guess = p3.guess(); 
      if (p1.guess() == secretNumber){ 
       System.out.println("Player 1 got it right! %d", secretNumber); 
       break; 
      } else if (p2.guess() == secretNumber){ 
       System.out.println("Player 2 got it right! %d", secretNumber); 
       break; 
      } else if (p3.guess() == secretNumber){ 
       System.out.println("Player 3 got it right! %d", secretNumber); 
       break; 
      } 
     } 

    } 
} 


class Player{ 
    int number = 0; 
    public int guess(){ 
     number = (int) (Math.random() * 10); 
     System.out.println("I'm guessing %d!", number); 
     return number; 
    } 
} 

class GameLauncher{ 
    public static void main(String[] args){ 
     GuessGame starting = new GuessGame(); 
     starting.startGame(); 
    } 
} 

所以,如果我改變所有的%d" stuff " + variable停止給我的錯誤。
所有我在網上找到了這個錯誤的職位與構造做的,這就是爲什麼我問,因爲我不需要任何的這種(我不應該使用任何本練習)

+0

'printf'是你想要的。 – aristotll

+0

哦,我想我知道。 – Tax

+0

@aristotll我會讀到的println和printf的東西,你應該給它一個答案,所以我可以選你的, – Tax

回答

0

使用方法System.out.printf( 「一些測試%S」, 「字符串」);

相關問題