Java扫描仪问题-输入不匹配

Java扫描仪问题-输入不匹配,java,int,java.util.scanner,Java,Int,Java.util.scanner,在Java中,如何最有效地分别扫描int和字母?例如,扫描“6L”并将6另存为int和注册L示例代码会有所帮助,因为堆栈溢出通常用于调试,它实际上不是一个编程教程论坛。然而,这是一个很好的问题,所以对于任何复杂的文本分析,这里是我给你们的建议 如果您已经在使用类似扫描仪的复古工具,请扫描包含文本表示的字符串。获得字符串后,请使用正则表达式 在您的情况下,可能是这样的: String sz = scanner.next(); Pattern pattern = Pattern.compile("

在Java中,如何最有效地分别扫描int和字母?例如,扫描
“6L”
并将
6
另存为
int
和注册
L
示例代码会有所帮助,因为堆栈溢出通常用于调试,它实际上不是一个编程教程论坛。然而,这是一个很好的问题,所以对于任何复杂的文本分析,这里是我给你们的建议

如果您已经在使用类似扫描仪的复古工具,请扫描包含文本表示的
字符串。获得字符串后,请使用正则表达式

在您的情况下,可能是这样的:

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);
现在就有了它(尽管请注意,该特定表达式不理解小数点,但您必须对其进行修改。)


您可以找到正则表达式的完整解释,以及测试正则表达式的便捷站点。我希望这能解决你的问题。祝你好运

如果你试图实现它,请张贴你的代码也。