思路
把字符串用 + 和 - 号分成 多个字符串
分开的字符串中,只有*号。
使用 split 将字符串拆分
然后计算,返回
题目数据没考虑受字符为运算符。
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static int cal(String s) {
String[] str = s.split("\\*");
int ans = 1;
for (int i = 0; i < str.length; i++) {
ans *= Integer.parseInt(str[i]);
}
return ans;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (true) {
String str = in.next();
String str1 = str;
StringBuilder sb = new StringBuilder(str);
sb.append("+");
str = sb.toString();
if (str.equals("END+"))
break;
int l = 0;
int r = 1;
int ans = 0;
// if(str.charAt(0) == '-' || str.charAt())
int flag = 1;
while (r < str.length()) {
if (str.charAt(r) == '+' || str.charAt(r) == '-' ) {
if (flag == 1)
ans += cal(str.substring(l, r));
else {
ans -= cal(str.substring(l, r));
}
l = r + 1;
if (str.charAt(r) == '+') {
flag = 1;
}
if (str.charAt(r) == '-') {
flag = 0;
}
r++;
}
r++;
}
System.out.println(ans);
}
}
}

京公网安备 11010502036488号