繁体   English   中英

Java扫描仪非法输入

[英]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确实会很恐怖(如果您正在学习编程,甚至会更可怕),但是它确实很有用,值得学习。 为了弄清楚验证用户输入所需的模式,可以将在线验证器用作rubularjava-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM