这个什么什么提交模式我没看懂,这个代码应该没错。
import java.util.Scanner;
import java.util.Stack;
public class NC212914 {
public static void main(String []args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
str = str.substring(1,str.length()-1);
// System.out.println(str);
System.out.println(legalExp(str));
}
public static long legalExp (String str) {
Stack<Long> s = new Stack<Long>();
String []strArray = str.split("#");
for(int i = 0 ;i < strArray.length;i++){
if(judge(strArray[i])){
s.add(Long.parseLong(strArray[i]));
}else{
if(strArray[i].length()>1){
if(strArray[i].substring(0,1).equals("+")){
s.add(s.pop()+s.pop());
}else if(strArray[i].substring(0,1).equals("-")){
s.add(-s.pop()+s.pop());
}else{
s.add(s.pop()*s.pop());
}
s.add(Long.parseLong(strArray[i].substring(1)));
}else{
if(strArray[i].substring(0,1).equals("+")){
s.add(s.pop()+s.pop());
}else if(strArray[i].substring(0,1).equals("-")){
s.add(s.pop()-s.pop());
}else{
s.add(s.pop()*s.pop());
}
}
}
}
return s.pop();
}
public static boolean judge(String str){
if(str.substring(0,1).equals("+")||str.substring(0,1).equals("-")||str.substring(0,1).equals("*")) return false;
return true;
}
}