Java扫描程序非法输入

时间:2013-10-07 22:06:21

标签: java input user-input

我正在为我的AP CS类中的分数计算器构建框架。除了如何告诉你输入无效外,我已经想出了一切 可接受的输入类型是2_2 / 3 + 4/5或4/6 - 2/5,但如果输入字母或两个以上的分数,我希望它给出错误。这就是我所拥有的,但它似乎只能用字母而不是数字。我从我想要的最大有效分数的长度得到13。防爆。 2_2 / 4 + 3_4 / 5

if (inputLength >= 13) {
    System.out.println("Your Input is too long");
}

2 个答案:

答案 0 :(得分:3)

另一种验证输入的方法是使用regex。我建议您查看任何Java regex教程或参考official doc

我知道乍一看regex可能真的很可怕(如果你正在学习如何编程,甚至更多)但它确实非常有用且值得学习。为了找出验证用户输入所需的模式,您可以将在线验证器用作rubularjava-regex-tester

答案 1 :(得分:0)

正如其他人所说,使用regex。在使用some of the links Trein provided撰写regex语句后,您可以致电String.matches(String regex)进行申请。

例如:

if (inputString.matches("Your regex string here")) {
    // Parse input
} else {
    System.out.println("Invalid input!");
}

作为旁注,regex可能也是解析输入的最佳方法。有关详细信息,请参阅The Java Tutorials(特别是“捕获群组”)和regex