题目链接:
计算机软件能力认证考试系统http://118.190.20.162/view.page?gpid=T88
【分析】栈的应用题
import java.util.Scanner;
import java.util.Stack;
public Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int i, j, m;
char op, c;
String str;
for(i = 0; i < n; i++){
str = scanner.next();
Stack<Integer> stack = new Stack<>();
m = str.length();
stack.push(str.charAt(0) - '0');
for(j = 1; j < m; j += 2){
op = str.charAt(j);
c = str.charAt(j + 1);
if(op == '+') stack.push(c - '0');
else if(op == '-') stack.push(-(c - '0'));
else if(op == 'x') stack.push(stack.pop() * (c - '0'));
else stack.push(stack.pop() / (c - '0'));
}
int ans = 0;
while(!stack.empty()){
ans += stack.pop();
}
if(ans == 24) System.out.println("Yes");
else System.out.println("No");
}
}
}