2

I would like to use a Scanner to read input (a number) until it encounters either '+','-', '*', or '/'. These operators should end the input, and the value before the respective operator should be stored in a variable.

I am thinking about doing this by using the operators as delimiters. Am I on the right track, or is there a better way to do this?

Nik

4

2 回答 2

2

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

但小心点!String.split()正则表达式作为其参数。因为+and*是正则表达式中具有特殊含义的元字符,所以需要对其进行转义。

正则表达式"-|\\+|\\*|/"将在出现-or+*or时拆分您的字符串/

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

String test = "20+30*40";

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

System.out.println( Arrays.toString( tokens ) )
于 2012-04-11T05:18:02.760 回答
1


你在正确的轨道上。

您可以使用 String.split() 函数将字符串按 +、- 或 / 分割。

最终将成为

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

这为您提供了一个由这些分隔符中的任何一个分割的字符串数组。

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

祝你有美好的一天

于 2012-04-10T23:51:13.300 回答