2016-04-15 3 views
0

Ive работал с моей личной игрой в понг и наткнулся на очень раздражающую ошибку, которую я не смог исправить. Если я запустил игру, все будет хорошо. Как только игра закончена, вы должны ввести свое имя. Затем имя должно быть сохранено в виде строки. Затем он сообщает вам ваше имя и ваш счет. Но вместо этого он не сохраняет ввод пользователя, просто остается пустым. Некоторые, пожалуйста, помогите мне !!!Сохранение пользовательского ввода в виде строки в Java

@SuppressWarnings("resource") 
public void replay() { 

    JFrame frame = new JFrame("input"); 
    JOptionPane.showInputDialog(frame, "what is your name player 1? "); 
    String playerName1 = new String(); 
    new Scanner(System.in); 

    JOptionPane.showConfirmDialog(null, 
      "Name: " + playerName1 + " Score: " + scorePlayer1 , "Player scores", 
      JOptionPane.DEFAULT_OPTION); 

    String playerName2 = new String(); 
    JOptionPane.showInputDialog(frame, "what is your name player 2? "); 

    JOptionPane.showConfirmDialog(null, 
      "Name: " + playerName2 + " Score: " + scorePlayer2 , "Player scores", 
      JOptionPane.DEFAULT_OPTION); 

    int n = JOptionPane.showConfirmDialog(null, 
     "Would you like to play again?", 
     "Pong", 
     JOptionPane.YES_NO_OPTION); 

    if (n == 0){ 
     setup(); 
    } else { 
     System.exit(0); 
    } 
} 

ответ

2

Вы установки 'Playername' в пустую строку, а затем отбрасывая игроков входов Input:

String playerName2 = new String(); 
JOptionPane.showInputDialog(frame, "what is your name player 2? "); 

Вместо сохранить вход игрока в строку Playername:

String playerName2 = JOptionPane.showInputDialog(frame, "what is your name player 2? "); 

(Это пример для игрока 2, просто выполните одно и то же с другой переменной (возможно, имя игрока1) для игрока 1)

0

Вы на самом деле не используете результат showInputDialog.

playerName1 = JOptionPane.showInputDialog(...); 
playerName2 = JOptionPane.showInputDialog(...); 
Смежные вопросы