Java - 具有多个分隔符的扫描程序

时间:2012-04-10 23:23:24

标签: java java.util.scanner

我想使用扫描仪读取输入(数字),直到遇到' +',' - ', ' *',或' /'。这些运算符应该结束输入,并且相应运算符之前的值应该存储在变量中。

我正在考虑通过将运算符用作分隔符来实现此目的。我是在正确的轨道上,还是有更好的方法来做到这一点?

的Nik

2 个答案:

答案 0 :(得分:2)

String.split( )可能是你最好的选择。

但要小心! String.split()Regular Expression为参数。由于+*是正则表达式中具有特殊含义的元字符,因此您需要将其转义。

正则表达式"-|\\+|\\*|/"会在-+*/出现时拆分字符串。

此示例代码应打印以下内容:[20, 30, 40]

String test = "20+30*40";

String[] tokens = split( "-|\\+|\\*|/" );

System.out.println( Arrays.toString( tokens ) )

答案 1 :(得分:1)


你走在正确的轨道上。

您可以使用String.split()函数将字符串拆分为+, - 或/.

最终将成为

String[] allStrings = String.split("+|-|/");

它为您提供了一系列由这些分隔符分割的字符串。

如果您需要更多帮助,请发布您的代码,以便我们为您提供帮助。

度过美好的一天