我正在尝试创建一个简单的数字猜谜游戏

时间:2018-01-16 20:26:16

标签: java loops validation

我要求用户输入一个数字直到用户找到它。 无论用户输入的是数字还是其他任何类似char或string的内容,我都无法验证每个输入。 所以基本上我试图防止任何不匹配异常错误。

3 个答案:

答案 0 :(得分:0)

如果您正在编写代码以将输入作为整数,那么它应该是一个错误,或者如果它没有int作为输入则不会继续。

如果您正在编写代码以将char或字符串作为整数,那么您应该使用Integer.parseInt()将输入转换为int值。

答案 1 :(得分:0)

尝试将文本解析为数字,如果失败,捕获失败并提示用户重新输入该号码。

应该足以让你前进。

答案 2 :(得分:0)

您可以尝试将String解析为双精度并捕获NumberFormatException,这将表明输入的数字无效。

private static boolean isNumber(String s){
    try{
        Double.parseDouble(s);
        return true;
    } catch (NumberFormatException e){
        return false;
    }
}

如果您不想让字符串"NaN"被接受为数字,则可以在分析字符串之前检查它是否等于"NaN"

private static boolean isNumber(String s){
    if(s.trim().equals("NaN")){
      return false;
    }
    try{
        Double.parseDouble(s);
        return true;
    } catch (NumberFormatException e){
        return false;
    }
}