2015-11-10 3 views
-1

Итак, мой код выглядит следующим образом;Базовая ошибка Java

//Variables 
    Scanner keyboard = new Scanner(System.in); 
    String userGuess = keyboard.nextLine().toUpperCase(); 
    final String correctAnswer = "RBR"; 

    //Mastermind program 
    //Welcome message 
    System.out.println("\nHello " +/*username*/" and welcome to Mastermind!\n"); 
    System.out.println("##########################################################################\n"); 
    System.out.println("In this game you have 3 guesses to guess the order of a sequence of letters," + 
     "\nthe sequence will consist of the letters R and/or B, in a random order" + 
     "\nand you have to guess the order that they are in." + 
     "\nYou will be awarded points depending on how many guesses it takes you to" + 
     "\nguess the sequence and how many letters you get correct.\n"); 
    System.out.println("##########################################################################\n"); 


    //Game start 
    System.out.println("Please enter your first guess: " + userGuess); 
    if(userGuess.equals(correctAnswer)){ 
    System.out.println("Congratulations you got it in one go!"); 
    } 
    else{ 
    System.out.println("Sorry try again"); 
    } 

Я просто интересно, почему, когда я запускаю его я должен войти в мою догадку сразу, без него работает приветственное сообщение, он работает только после того, как я нажимаю войти, но потом либо говорит мне, что я правильно или неправильно , подумайте, что это как-то связано с .nextLine, но я не уверен?

+2

что происходит потому, что у вас есть это: String userGuess = keyboard.nextLine(). ToUpperCase(); перед вашим приветственным сообщением – Stultuske

+0

Большое спасибо! поэтому просто используйте keyboard.nextLine(); вниз в реальной программе? – Jack

+0

yup. nextLine() требует, чтобы вы нажимали клавишу ввода до ее продолжения. до тех пор, пока эта строка до приветственного сообщения, это должно быть рассмотрено сперва – Stultuske

ответ

0

Вам нужно переместить код:

String userGuess = keyboard.nextLine().toUpperCase(); 

после приветствия, как это:

//Game start 
System.out.println("Please enter your first guess: " + userGuess); 
Scanner keyboard = new Scanner(System.in); 
String userGuess = keyboard.nextLine().toUpperCase(); 
+1

Спасибо большое! :) – Jack

0

переместить его вниз здесь

//Game start 
System.out.println("Please enter your first guess:"); 
Scanner keyboard = new Scanner(System.in); 
String userGuess = keyboard.nextLine().toUpperCase(); 
System.out.println("Your guess is: " + userGuess); 
+0

Спасибо большое! :) – Jack