Having the user guess a random number and loop until they get it right











up vote
0
down vote

favorite












I've been trying to figure this out for hours but I can't for some reason my output just shows "Sorry that number is too high" and "Sorry that number is too low" at the same time without looping or using a single answer.



import java.util.*;

public class RandomNumbers {

public static void main(String args) {
Scanner keyboard = new Scanner(System.in);
Random numGen = new Random();
int RanNum = numGen.nextInt(20) + 1;
System.out.println("Guess what number im thinking of");
int num ;
num = keyboard.nextInt();
if (num == RanNum)
System.out.println("Good Job");
else if (num > RanNum)
System.out.println("Sorry that number is too high");
else if (num < RanNum);
System.out.println("Sorry that number is too low");

}
}









share|improve this question
























  • The code indentation is actually correctly showing that last println statement is not covered by the else if statement, because you have a ; at the end of that line.
    – Andreas
    Nov 11 at 21:50












  • Possible duplicate of Guess a number program with Java
    – jontro
    Nov 11 at 21:56















up vote
0
down vote

favorite












I've been trying to figure this out for hours but I can't for some reason my output just shows "Sorry that number is too high" and "Sorry that number is too low" at the same time without looping or using a single answer.



import java.util.*;

public class RandomNumbers {

public static void main(String args) {
Scanner keyboard = new Scanner(System.in);
Random numGen = new Random();
int RanNum = numGen.nextInt(20) + 1;
System.out.println("Guess what number im thinking of");
int num ;
num = keyboard.nextInt();
if (num == RanNum)
System.out.println("Good Job");
else if (num > RanNum)
System.out.println("Sorry that number is too high");
else if (num < RanNum);
System.out.println("Sorry that number is too low");

}
}









share|improve this question
























  • The code indentation is actually correctly showing that last println statement is not covered by the else if statement, because you have a ; at the end of that line.
    – Andreas
    Nov 11 at 21:50












  • Possible duplicate of Guess a number program with Java
    – jontro
    Nov 11 at 21:56













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I've been trying to figure this out for hours but I can't for some reason my output just shows "Sorry that number is too high" and "Sorry that number is too low" at the same time without looping or using a single answer.



import java.util.*;

public class RandomNumbers {

public static void main(String args) {
Scanner keyboard = new Scanner(System.in);
Random numGen = new Random();
int RanNum = numGen.nextInt(20) + 1;
System.out.println("Guess what number im thinking of");
int num ;
num = keyboard.nextInt();
if (num == RanNum)
System.out.println("Good Job");
else if (num > RanNum)
System.out.println("Sorry that number is too high");
else if (num < RanNum);
System.out.println("Sorry that number is too low");

}
}









share|improve this question















I've been trying to figure this out for hours but I can't for some reason my output just shows "Sorry that number is too high" and "Sorry that number is too low" at the same time without looping or using a single answer.



import java.util.*;

public class RandomNumbers {

public static void main(String args) {
Scanner keyboard = new Scanner(System.in);
Random numGen = new Random();
int RanNum = numGen.nextInt(20) + 1;
System.out.println("Guess what number im thinking of");
int num ;
num = keyboard.nextInt();
if (num == RanNum)
System.out.println("Good Job");
else if (num > RanNum)
System.out.println("Sorry that number is too high");
else if (num < RanNum);
System.out.println("Sorry that number is too low");

}
}






java






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 4:26









Trooper Z

687424




687424










asked Nov 11 at 21:47









Ian Stacy

32




32












  • The code indentation is actually correctly showing that last println statement is not covered by the else if statement, because you have a ; at the end of that line.
    – Andreas
    Nov 11 at 21:50












  • Possible duplicate of Guess a number program with Java
    – jontro
    Nov 11 at 21:56


















  • The code indentation is actually correctly showing that last println statement is not covered by the else if statement, because you have a ; at the end of that line.
    – Andreas
    Nov 11 at 21:50












  • Possible duplicate of Guess a number program with Java
    – jontro
    Nov 11 at 21:56
















The code indentation is actually correctly showing that last println statement is not covered by the else if statement, because you have a ; at the end of that line.
– Andreas
Nov 11 at 21:50






The code indentation is actually correctly showing that last println statement is not covered by the else if statement, because you have a ; at the end of that line.
– Andreas
Nov 11 at 21:50














Possible duplicate of Guess a number program with Java
– jontro
Nov 11 at 21:56




Possible duplicate of Guess a number program with Java
– jontro
Nov 11 at 21:56












3 Answers
3






active

oldest

votes

















up vote
3
down vote



accepted










Semicolon after else if (num < RanNum) is your problem






share|improve this answer





















  • Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
    – Ian Stacy
    Nov 11 at 22:37










  • Oh sure, here's the main method: pastebin.com/b98Ghtrg
    – sand_storm_of_code.txt
    Nov 12 at 1:05


















up vote
0
down vote













you misplaced a semicolon at the end of your third if.
You should still get the Good Job message though.



public static void main(String args) 
{
Scanner keyboard = new Scanner(System.in);
Random numGen = new Random();
int RanNum = numGen.nextInt(1) + 1;
System.out.println("Guess what number im thinking of");
int num ;
num = keyboard.nextInt();
if (num == RanNum)
System.out.println("Good Job");
else if (num > RanNum)
System.out.println("Sorry that number is too high");
else if (num < RanNum)
System.out.println("Sorry that number is too low");

}


edit: sorry, too late :)






share|improve this answer




























    up vote
    0
    down vote













    To keep prompting the user use a while loop to check whether they guessed correct or not. I would also recommend adding another input check for exiting without getting it correct. Brief example:



    boolean incorrect = true;
    while(incorrect) {

    //Code to prompt for input

    if(userIsCorrect || input == -1){
    incorrect = false;
    //Program will exit loop when this is set to false
    }
    }





    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253575%2fhaving-the-user-guess-a-random-number-and-loop-until-they-get-it-right%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      3
      down vote



      accepted










      Semicolon after else if (num < RanNum) is your problem






      share|improve this answer





















      • Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
        – Ian Stacy
        Nov 11 at 22:37










      • Oh sure, here's the main method: pastebin.com/b98Ghtrg
        – sand_storm_of_code.txt
        Nov 12 at 1:05















      up vote
      3
      down vote



      accepted










      Semicolon after else if (num < RanNum) is your problem






      share|improve this answer





















      • Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
        – Ian Stacy
        Nov 11 at 22:37










      • Oh sure, here's the main method: pastebin.com/b98Ghtrg
        – sand_storm_of_code.txt
        Nov 12 at 1:05













      up vote
      3
      down vote



      accepted







      up vote
      3
      down vote



      accepted






      Semicolon after else if (num < RanNum) is your problem






      share|improve this answer












      Semicolon after else if (num < RanNum) is your problem







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Nov 11 at 21:49









      sand_storm_of_code.txt

      1,01911829




      1,01911829












      • Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
        – Ian Stacy
        Nov 11 at 22:37










      • Oh sure, here's the main method: pastebin.com/b98Ghtrg
        – sand_storm_of_code.txt
        Nov 12 at 1:05


















      • Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
        – Ian Stacy
        Nov 11 at 22:37










      • Oh sure, here's the main method: pastebin.com/b98Ghtrg
        – sand_storm_of_code.txt
        Nov 12 at 1:05
















      Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
      – Ian Stacy
      Nov 11 at 22:37




      Hi i have another question ive been trying to loop this program so that it asks the user again after telling them there answer is too high or too low and im having no success is there any chance you could throw some advice my way
      – Ian Stacy
      Nov 11 at 22:37












      Oh sure, here's the main method: pastebin.com/b98Ghtrg
      – sand_storm_of_code.txt
      Nov 12 at 1:05




      Oh sure, here's the main method: pastebin.com/b98Ghtrg
      – sand_storm_of_code.txt
      Nov 12 at 1:05












      up vote
      0
      down vote













      you misplaced a semicolon at the end of your third if.
      You should still get the Good Job message though.



      public static void main(String args) 
      {
      Scanner keyboard = new Scanner(System.in);
      Random numGen = new Random();
      int RanNum = numGen.nextInt(1) + 1;
      System.out.println("Guess what number im thinking of");
      int num ;
      num = keyboard.nextInt();
      if (num == RanNum)
      System.out.println("Good Job");
      else if (num > RanNum)
      System.out.println("Sorry that number is too high");
      else if (num < RanNum)
      System.out.println("Sorry that number is too low");

      }


      edit: sorry, too late :)






      share|improve this answer

























        up vote
        0
        down vote













        you misplaced a semicolon at the end of your third if.
        You should still get the Good Job message though.



        public static void main(String args) 
        {
        Scanner keyboard = new Scanner(System.in);
        Random numGen = new Random();
        int RanNum = numGen.nextInt(1) + 1;
        System.out.println("Guess what number im thinking of");
        int num ;
        num = keyboard.nextInt();
        if (num == RanNum)
        System.out.println("Good Job");
        else if (num > RanNum)
        System.out.println("Sorry that number is too high");
        else if (num < RanNum)
        System.out.println("Sorry that number is too low");

        }


        edit: sorry, too late :)






        share|improve this answer























          up vote
          0
          down vote










          up vote
          0
          down vote









          you misplaced a semicolon at the end of your third if.
          You should still get the Good Job message though.



          public static void main(String args) 
          {
          Scanner keyboard = new Scanner(System.in);
          Random numGen = new Random();
          int RanNum = numGen.nextInt(1) + 1;
          System.out.println("Guess what number im thinking of");
          int num ;
          num = keyboard.nextInt();
          if (num == RanNum)
          System.out.println("Good Job");
          else if (num > RanNum)
          System.out.println("Sorry that number is too high");
          else if (num < RanNum)
          System.out.println("Sorry that number is too low");

          }


          edit: sorry, too late :)






          share|improve this answer












          you misplaced a semicolon at the end of your third if.
          You should still get the Good Job message though.



          public static void main(String args) 
          {
          Scanner keyboard = new Scanner(System.in);
          Random numGen = new Random();
          int RanNum = numGen.nextInt(1) + 1;
          System.out.println("Guess what number im thinking of");
          int num ;
          num = keyboard.nextInt();
          if (num == RanNum)
          System.out.println("Good Job");
          else if (num > RanNum)
          System.out.println("Sorry that number is too high");
          else if (num < RanNum)
          System.out.println("Sorry that number is too low");

          }


          edit: sorry, too late :)







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 11 at 21:55









          TKler

          93




          93






















              up vote
              0
              down vote













              To keep prompting the user use a while loop to check whether they guessed correct or not. I would also recommend adding another input check for exiting without getting it correct. Brief example:



              boolean incorrect = true;
              while(incorrect) {

              //Code to prompt for input

              if(userIsCorrect || input == -1){
              incorrect = false;
              //Program will exit loop when this is set to false
              }
              }





              share|improve this answer



























                up vote
                0
                down vote













                To keep prompting the user use a while loop to check whether they guessed correct or not. I would also recommend adding another input check for exiting without getting it correct. Brief example:



                boolean incorrect = true;
                while(incorrect) {

                //Code to prompt for input

                if(userIsCorrect || input == -1){
                incorrect = false;
                //Program will exit loop when this is set to false
                }
                }





                share|improve this answer

























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  To keep prompting the user use a while loop to check whether they guessed correct or not. I would also recommend adding another input check for exiting without getting it correct. Brief example:



                  boolean incorrect = true;
                  while(incorrect) {

                  //Code to prompt for input

                  if(userIsCorrect || input == -1){
                  incorrect = false;
                  //Program will exit loop when this is set to false
                  }
                  }





                  share|improve this answer














                  To keep prompting the user use a while loop to check whether they guessed correct or not. I would also recommend adding another input check for exiting without getting it correct. Brief example:



                  boolean incorrect = true;
                  while(incorrect) {

                  //Code to prompt for input

                  if(userIsCorrect || input == -1){
                  incorrect = false;
                  //Program will exit loop when this is set to false
                  }
                  }






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 11 at 22:53

























                  answered Nov 11 at 22:48









                  Tim Hunter

                  665




                  665






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253575%2fhaving-the-user-guess-a-random-number-and-loop-until-they-get-it-right%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Guess what letter conforming each word

                      Port of Spain

                      Run scheduled task as local user group (not BUILTIN)