我想使用扫描仪读取输入(数字),直到遇到' +',' - ', ' *',或' /'。这些运算符应该结束输入,并且相应运算符之前的值应该存储在变量中。
我正在考虑通过将运算符用作分隔符来实现此目的。我是在正确的轨道上,还是有更好的方法来做到这一点?
的Nik
答案 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("+|-|/");
它为您提供了一系列由这些分隔符分割的字符串。
如果您需要更多帮助,请发布您的代码,以便我们为您提供帮助。
度过美好的一天