有没有一种方法可以使用扫描仪来格式化来自用户的输入?

时间:2019-03-12 16:01:16

标签: java

我正在尝试构建一个程序,向用户询问其DOB,如果不是DD / MM / YYYY格式,则会抛出错误。有谁知道如何做到这一点? 抱歉,如果我没有进行足够的研究,但我真的找不到关于格式化日期输入的任何信息。 谢谢您的帮助。

3 个答案:

答案 0 :(得分:-1)

boolean isDOB(String input) {
        String[] inputs = input.split("/");
        if(inputs.length!=3)
            return false;
        int days = Integer.parseInt(inputs[0]);
        int month = Integer.parseInt(inputs[1]);        
        if(days>31 || month>12 || inputs[2].length()!=4) {
            return false;           
        }
        return true;        
    }

答案 1 :(得分:-1)

读取输入后,您需要处理输入。正则表达式在此任务中非常有效。 ^\\d{2}/\\d{2}/\\d{4}$将检查用户提供的字符串是否为DD / MM / YYYY。

因此,您可以compare the user input,如下所示:

if(userStr.matches("^\\d{2}/\\d{2}/\\d{4}$")){
    //Do stuff if input is good
}else{
    //Do stuff if input is bad
}

答案 2 :(得分:-1)

如果可以帮助您,那么这里是整个程序。这也会使用DateTimeFormatter验证日期。因此,如果用户输入hessian_vector_product,它将失败。

autograd