[英]Java scanner illegal 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");
}
验证输入的另一种方法是使用regex
。 我建议您阅读任何Java regex
教程或参考官方文档 。
我知道, regex
确实会很恐怖(如果您正在学习编程,甚至会更可怕),但是它确实很有用,值得学习。 为了弄清楚验证用户输入所需的模式,可以将在线验证器用作rubular或java-regex-tester 。
正如其他人所说,请使用regex
。 使用Trein提供的某些链接编写regex
语句后,可以调用String.matches(String regex)
来应用它。
例如:
if (inputString.matches("Your regex string here")) {
// Parse input
} else {
System.out.println("Invalid input!");
}
附带说明一下, regex
可能也是解析输入的最佳方法。 有关更多信息和regex
,请参见Java教程 (特别是“捕获组”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.