【问题标题】:How to keep prompting the user when they enter nothing当用户什么都不输入时如何不断提示用户
【发布时间】:2014-10-29 07:45:29
【问题描述】:

我在这里有一个简单的do while 循环。我遇到的唯一问题是这个循环现在只接受数字。我需要它接受除空白输入之外的所有内容。

import java.util.Scanner;

public class Assignment6 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        boolean notValid = true;
        int numberAsInt = 0;
        do {
            try {
               System.out.print("Enter a number to Convert > ");
               String number = scan.nextLine();
               numberAsInt = Integer.parseInt(number);
               notValid = false;
            }
            catch (Exception e) {
            }

        } while (notValid);
    }
}

【问题讨论】:

    标签: java loops do-while


    【解决方案1】:

    我对您的要求有点困惑,因为您正在解析代码中的结果,但我希望这就是您的要求:

    public class Assignment6 {
    public static void main(String[]args){
       Scanner scan = new Scanner( System.in );
       boolean notValid = true;
       String  input;
       do{
               System.out.print( "Enter a number to Convert > "  );
               input = scan.nextLine( );
               if(!input.isEmpty())
                 notValid = false;
    
        } while ( notValid );
    
       } 
    }
    

    【讨论】:

    • 非常感谢,这是最有帮助的
    • 我很高兴它有帮助。那么请接受它作为响应。
    • 嘿,还有一件事。我正在使用基地,我需要发出错误消息。我可以在这里发布我的代码吗?
    • 最好发布一个新问题,但请务必在网站上搜索任何可能有助于解决您的问题的回复。
    【解决方案2】:

    你可以这样做:

    String number = readLine("Enter a number to Convert > ");
    while(number.isEmpty()){
         number = readLine("Please enter a *non-blank* number > ");
    }
    

    【讨论】:

      【解决方案3】:

      这里我们比较的是输入的值是否为空格而不是无效的是否为真

       try {
                         System.out.print( "Enter a number to Convert > "  );
                         String number = scan.nextLine( );
                         if(number.equals(" "))
                         {
                           notValid = ture;
                           sysytem.out.println(" Please do not enter blank space");
                          }
                          else
                         {
                           numberAsInt = Integer.parseInt(number);
                           notValid = false;
                          }
                  }
      

      【讨论】:

        【解决方案4】:

        在你的代码中使用这个 sn-p:

        if(number.trim().equals(""))
                               {
                                 notValid = ture;
                                 sysytem.out.println(" Please do not enter blank space");
                                }
        

        【讨论】:

          猜你喜欢
          • 2017-09-11
          • 2022-01-23
          • 1970-01-01
          • 2015-06-26
          • 2021-08-25
          • 1970-01-01
          • 2012-05-13
          • 2018-07-20
          相关资源
          最近更新 更多