在Java String中的算术表达式中添加多个操作数

use*_*666 -1 java arrays for-loop if-statement

到目前为止,我有这个解析两个不同的代码 字符串 操作数加倍并将它们加在一起

如何修改它以便它可以添加任意数量的 字符串 操作数?

double addMultipleDigits(String exp)
    {
        ArrayList<Double> wholeExpression  = new ArrayList<Double>();
        double answer = 0;
        for(int i=0;i<exp.length();i++)
        {
          if(exp.charAt(i)=='+')
          {
            answer=Integer.parseInt(exp.substring(i-1, i)) + Integer.parseInt(exp.substring(i+1, i+2));
            wholeExpression.add(answer);
            System.out.println(wholeExpression.get(0));

          }         
        }
        return answer;
    }
Run Code Online (Sandbox Code Playgroud)

Men*_*ena 8

更改签名以添加varargs.

double addMultipleDigits(String... exp)
Run Code Online (Sandbox Code Playgroud)

它可以在方法体中作为String数组处理.


Jon*_*eet 6

看起来你想要varargs:

double addMultipleDigits(String... expressions)
Run Code Online (Sandbox Code Playgroud)

expressions这里的参数只是一个常规数组,所以你仍然可以使用.length等.

然后你可以用数组显式地调用它,或者只是几个参数:

addMultipleDigits("123", "456");
Run Code Online (Sandbox Code Playgroud)