经过解析的代码的输入验证

时间:2016-05-25 07:07:28

标签: java validation parsing input

在下面的代码中,提示用户输入数字等级或点击" s" || " S"跳过此要求。输入采用字符串的形式。如果输入不是"" ||" S",则输入被解析为double。代码完美无缺。现在,我想进行输入数据验证并将输入限制为" s"或" S"或0-100之间的任何数字。有没有办法在不创建字符串形式的每个术语的情况下执行此操作?例如(行==" 0" ||行==" 1"等等......直到100

// Prompting the user for Score (Numerical Grade)
System.out.println("Kindly input Numerical Score:    (Enter s to Skip)"); 

// reading the input into the line variable of string datatype
String line = input.nextLine(); 

// checking if line =="s" or =="S" to skip, otherwise
// the value is parsed into a double

if("s".equals(line) || "S".equals(line))
{
}else try
{
        score = Double.parseDouble(line);
        System.out.println(score);
} catch( NumberFormatException nfe)
{

}

1 个答案:

答案 0 :(得分:2)

您已经在解析该值以获得Double。只需检查变量的值。

if (score >= 0 && score <= 100) {
    doXYZ();
 } else {
     notProcessing();
 }