Java do-while loop isn't working

后端 未结 3 1226
一个人的身影
一个人的身影 2021-01-26 02:31

I want my program to keep asking the question until it gets a response it can use, specifically a number from 0 to 20. I have a lot of other stuff on this class, so here is a sm

相关标签:
3条回答
  • 2021-01-26 02:57

    You could also do this:

    if(!work) {break;}
    
    0 讨论(0)
  • 2021-01-26 03:05
    while(work = false); // here you are assigning false to work
    

    should be

    while(work == false); //here you are checking if work is equal to false
    
    • = an assignment operator used to assign value
    • == an equality operator used to check if two operands have same value.

    As work is boolean you could even just use this:

    while(!work)
    
    0 讨论(0)
  • 2021-01-26 03:08

    You are using an assignment in your while expression:

    while(work = false);
    

    You can replace with

    while(work == false);
    

    or better

    while(!work);
    

    If variables halp and work are not used anywhere else, they could be eliminated giving you:

    do {
       System.out.println("What level is your fort?");
       Scanner sc = new Scanner(System.in);
       try {
        fortLevel = Integer.parseInt(sc.nextLine());
       } catch (NumberFormatException e) {
         System.out.println("Numbers only, 0-20");
       }
    
    } while (fortLevel < 0 || fortLevel > 20);
    
    0 讨论(0)
提交回复
热议问题