2015-03-20 4 views
-1

У меня проблема с контуром, который я делаю. Когда когда-либо запускаю программу, она отображаетИмена игроков с петлями

Пожалуйста, введите имя игрока 1?

Пожалуйста, введите имя игрока 2?

Когда я ввожу имя, оно автоматически печатает, пожалуйста, введите имя игрока три. три игрока были созданы, но я могу назвать только 2 оказывается Какой совет

public static void startGame() 
    { 
    System.out.println("How many players would you like?"); 
    int noPlayers = input.nextInt(); 
    for (int i = 0; i < noPlayers; i++) 
    { 

     System.out.println("What is the 1st name of Player " + (i + 1) + "?"); 
     String name = input.nextLine(); 
     Player player = new Player (name, 80); 
     players.add(player); 

    } 

к сведению, что 80 это деньги.

+0

См http://stackoverflow.com/questions/13102045/skipping-nextline-after-use-nextint/1310206 –

ответ

0

Вы должны добавить input.nextLine() после int noPlayers = input.nextInt();, чтобы уничтожить конец строки, в которую было введено число игроков.

public static void startGame() 
    { 
     System.out.println("How many players would you like?"); 
     int noPlayers = input.nextInt(); 
     input.nextLine(); // add this 
     for (int i = 0; i < noPlayers; i++) 
     { 
      System.out.println("What is the 1st name of Player " + (i + 1) + "?"); 
      String name = input.nextLine(); 
      Player player = new Player (name, 80); 
      players.add(player); 
     } 
    } 
+0

Совершенные спасибо очень много. (: – statik

Смежные вопросы