while() loop for user input

ⅰ亾dé卋堺 提交于 2019-12-02 15:51:16

问题


I'm working on setting up a while() that executes until the user enters an integer. However, the way I have it now, the loop prints the message "Please enter an integer" again after the integer has been entered, and then the program executes normally. Can someone suggest a way to make not print that message again after an integer has been entered? Thanks!

            System.out.println("Enter word length");
            if(in.hasNextInt())
            {    
                n = in.nextInt();
            }
            else
            {
                while(in.hasNext()) //this is the loop i'm talking about
                {
                    System.out.println("Please enter an integer");
                    if(in.hasNextInt())
                    {    
                        n = in.nextInt();
                        break;
                    }
                    else
                    {
                        String c = in.next();
                    }
                }
            }      

回答1:


I am assuming that you want user to enter int (or Integer) and repeatedly ask user until user enters int(or Integer). If so, try this:

System.out.println("Enter word length");
if(in.hasNextInt()) {    
    n = in.nextInt();
 } else {
         while(in.hasNext()) //this is the loop i'm talking about
         {

             if(in.hasNextInt())
             {    
                 n = in.nextInt();
                 break;
             }
             else
             {
                 String c = in.next();
                 System.out.println("Please enter an integer");
             }
         }
     }      


来源:https://stackoverflow.com/questions/23203149/while-loop-for-user-input

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!