如何在Java中拆分字符串,然后将数字推入一个列表,将运算符推送到另一个列表?

时间:2015-10-06 12:42:17

标签: java

我理解在Java中拆分字符串是这样的:

String[] result = userCalcInput.split("[-+*/]");

但我想分开说出以下表达方式。

2+2
222*2
2/2+6
120+9/4+22
29*2+9

我希望用户能够输入任何内容,例如上面的内容或他们自己选择的字符串,然后我可以将其拆分为运算符并推入不同的列表。代码到目前为止:

    List<Integer> numberList = new ArrayList<Integer>();
    List<String> operatorList = new ArrayList<String>();

    Scanner userInputNoOne = new Scanner( System.in );
    System.out.println("Enter your calculation: ");
    userCalcInput = userInputNoOne.next();


    String[] result = userCalcInput.split("[-+*/]");

    if(userCalcInput = int){
        //code here
    }
    else if (userCalcInput = NaN){
        //code here
    }

    System.out.println(result);

我理解这不起作用但只是想看看是否正确的想法以及如何正确实施它。 感谢

1 个答案:

答案 0 :(得分:0)

我知道你对Java很新。

您可以使用正则表达式。 正则表达式允许您在字符串中查找特定模式,在这种情况下,您需要查找数字和运算符,这些数字和运算符在“正则表达式”中单独定义。 :\ d表示数字,\ W表示非单词字符,例如算术运算符。 您应该尝试使用Pattern和Matcher类