Java扫描程序问题 - 输入不匹配

时间:2015-06-17 22:30:07

标签: java int java.util.scanner

如何在Java中最有效地单独扫描int和字母?例如,扫描"6L"并将6保存为int并注册L

1 个答案:

答案 0 :(得分:0)

示例代码会有所帮助,因为Stack Overflow通常用于调试,它不是一个真正的编程教程论坛。但是,这是一个很好的问题,所以我建议您对任何复杂的文本分析。

如果您已经使用像扫描仪那样复古的东西,请扫描包含您的文字表示的String。获得String后,使用正则表达式。

在你的情况下,这将是这样的:

String sz = scanner.next();

Pattern pattern = Pattern.compile("(\\d+)(\\w+)");  //meaning some number
// of digits, immediately followed by some number of word characters
Matcher matcher = pattern.matcher(sz);

int number = Integer.parseInt(matcher.group(0));
String letters = matcher.group(1);

并且你有它(虽然注意到特定的表达式不理解小数点,你必须修改它。)

您可以找到正则表达式here的完整说明,以及用于测试它们here的便捷网站。我希望能解决你的问题。祝你好运!