当前位置: 首页 > 知识库问答 >
问题:

我如何将它放入工作代码中以验证用户输入(Java)?

百里诚
2023-03-14

我是初级程序员。我正在尝试编写一个代码,要求用户输入必须是1-20号,而且不是字母。

    null
    while(input < 1 || input > 20){
        System.out.println("Invalid number! Try again.");
        input = s.nextInt();
        s.nextLine();
    }
    return input;
}

共有1个答案

公孙向荣
2023-03-14

您的while条件不正确,while(input<1 input>20)正在检查number是否小于1且大于20,

这个问题有两个部分:1。检查输入是否为有效数字,2。检查数字是否在范围内

public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        boolean validInput = false;
        do
        {
            System.out.println("Enter valid number ");
            // get user input
            String input =  sc.nextLine();

            if(isDigit(input)) {
                int inputNumber = Integer.parseInt(input);
                //check if number is in the range of 1 to 20
                boolean isInRange = (inputNumber > 1) && (inputNumber < 20);
                validInput  = true;
                if(isInRange) {
                    System.out.println(input+" is valid Number and in the range of 1 to 20");
                }
                else {
                    System.out.println(input+" is valid Number But Not in the range of 1 to 20");
                }
            }
            else {
                System.out.println(input+" is invalid Number");
            }
        }
        while (!validInput );

    }

    //check if input is valid number
    public static boolean isDigit(String input) {

        if (input == null || input.length() < 0)
            return false;
        input = input.trim();
        if ("".equals(input))
            return false;
        if (input.startsWith("-")) {
            return input.substring(1).matches("[0-9]*");
        } else {
            return input.matches("[0-9]*");
        }
    }
 类似资料:
  • 代码注入攻击当程序使用的输入或其他外部变量未清洗而导致对程序逻辑的修改时发生。 这可能允许攻击者对应用程序的设备或它的数据的访问权限,导致服务拒绝或引入许多的恶意副作用。 授权服务器和客户端必须清洗(并在可能的情况下验证)收到的任何值--特别是,“state”和“redirect_uri”参数的值。

  • 我已经创建了一个控制台应用程序,现在开始将其转换为摇摆应用程序。我有一个问题,我搜索了很多次,但我没有找到任何答案。 我的应用程序有一个类来验证用户的输入,如果输入错误,它会向控制台发出错误消息。所以我尝试做的是,我有一个Jtextfield并验证这个输入,如果输入错误,它应该给我错误消息。 这是我的Input类,用户可以在其中编写 这是我的输出类方法 我只是想知道我可以使用输入类的验证,还是应该

  • 我正在做一个简单的程序,要求用户输入0-19之间的五个数字。我想在每个数字后面添加一些东西(比如if语句),以确保它在这个范围内。如果不是,程序应该说“请再读指令”,然后system.exit(0)。这段代码是相关的: 如有任何帮助,将不胜感激。

  • 我试图找到一个完整的模式列表,用于通过HTML5表单验证各种类型的输入,特别是、、等等,但我找不到任何模式。目前,这些输入验证的内置版本远非完美(甚至不检查输入的内容是否是电话号码)。所以我想知道,我可以使用哪些模式来验证用户在输入中输入了正确的格式? 以下是一些默认验证允许不允许的输入的例子: 这个字段允许在@后面有不正确域的电子邮件,它允许地址以破折号或句号开始或结束,这也是不允许的。因此,是

  • MessageInput 验证码输入 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过mode参数模式,可取如下值: box(默认)-输入位置位一个方框 bottomLine-底部显示一条横线 middleLine-中部显示一条横线 <u-message-input mode="bottomLine"></u-me

  • 所以我正在做一个项目,其中有一个数据库是我用Symfony5创建的,我使用easyAdmin作为 我尝试将html代码放置为: ,但网站显示给我的是: ,而不仅仅是测试。是因为它是一根绳子吗?我如何设法显示只是测试? 谢谢