我正在写一个java方法,该方法需要一串加号和减号,例如

“ + 1 + 2 + 3-5”,我希望它返回答案的整数。

我正在尝试尽可能有效地做到这一点。我已经尝试过String.split()方法,但是它的优缺点有些混乱。

有人可以帮忙吗?不,这不是家庭作业。

最佳答案

您将需要逐个字符地分析字符串。就像是

int foo(String s){
    int total = 0;
    String currentNum = ""
    for(int i =0;i<s.length;i++){
        if(s[i] =="+"){
           total += Integer.parseInt(currentNum);
           currentNum = ""
        }else if(s[i] =="-"){
           total -= Integer.parseInt(currentNum);
           currentNum = ""
        }else{
           currentNum += s[i]
        }
     }
     return total;
}

07-23 15:50