繁体   English   中英

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

[英]How to split a string in Java and then push numbers into one list and operators into another?

我知道在 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);

我知道这行不通,但只是想看看想法是否正确以及如何正确实施。 谢谢

我知道您对 Java 很陌生。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM