2017-08-11 40 views
1

このエラーが発生しましたが、実際に修正しましたが、なぜ動作するのか理解したいと思います。私はそれは私にエラーを与えて停止し、すべての%d" stuff " + variableに変更した場合、実際の引数と仮引数の長さが異なる> "%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(); 
    } 
} 

ので: はここに私のコードです。私は、このエラーのためにオンラインで見つける
すべての記事はそれは私が唯一

+0

'printf'はあなたが望むものです。 – aristotll

+0

オハイオ州知っていると思います。 – Tax

+0

@aristotll printlnとprintfのことを読んでみると、あなたの答えを選ぶことができます – Tax

答えて

2

println(私はこの演習のためのいずれかを使用するべきではありません)、このためのいずれかを必要としないように私が求めている理由です、コンストラクタに関係しています1つまたはゼロの引数をとります。フォーマット文字列の入力について

enter image description here

、代わりにjava.io.PrintStream#printf(java.lang.String, java.lang.Object...)を使用しています。

0

System.out.printf( "Some Test%s"、 "String");メソッドを使用します。

関連する問題