【问题标题】:separate numbers and mathematical sign from string in java在java中从字符串中分离数字和数学符号
【发布时间】:2014-12-07 16:48:12
【问题描述】:

我正在为 android 制作一个计算器类的应用程序,但由于输入数字和不同的符号而无法评估表达式。我的字符串为“10+5-35*2+80/4”,并且想要将所有数字和符号,以便我可以解决表达式。

更具体.... number 可以是任何数字的 [0-9] 之间的任何数字,并且可以有任何运算符。

【问题讨论】:

标签: java


【解决方案1】:

您可以遍历字符串并使用以下内容:

for(Character ch : inputString.toCharArray())
    if (Character.isDigit(ch))
        // ...

【讨论】:

    【解决方案2】:
        List<String> numbers = new ArrayList<>();
        List<String> operators = new ArrayList<>();
        String str = "1+2/300%4";
        char[] strCharArray = str.toCharArray();
        StringBuilder numbersSb = new StringBuilder();
        for (int i = 0; i < strCharArray.length; i++) {
            if (Character.isDigit(strCharArray[i])) {
                numbersSb.append(strCharArray[i]);
            } else {
                operators.add(String.valueOf(strCharArray[i]));
                numbers.add(numbersSb.toString());
                numbersSb = new StringBuilder();
            }
            if (i == strCharArray.length - 1 && !numbersSb.toString().isEmpty()) {
                numbers.add(numbersSb.toString());
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      相关资源
      最近更新 更多