算法训练 前缀表达式
时间限制:1.0s 内存限制:512.0MB
问题描述
编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。
输入格式:输入只有一行,即一个前缀表达式字符串。
输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。
输入输出样例
输入格式:输入只有一行,即一个前缀表达式字符串。
输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。
输入输出样例
样例输入
+ 5 2
样例输出
7
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String m = sc.nextLine();
String[] a = m.split(" ");
switch (a[0]) {
case "+":
System.out.println(add(Integer.valueOf(a[1]), Integer.valueOf(a[2])));
break;
case "-":
System.out.println(sub(Integer.valueOf(a[1]), Integer.valueOf(a[2])));
break;
case "*":
System.out.println(mul(Integer.valueOf(a[1]), Integer.valueOf(a[2])));
break;
case "/":
System.out.println(div(Integer.valueOf(a[1]), Integer.valueOf(a[2])));
break;
default:
break;
}
}
static int add(int x, int y) {
return x + y;
}
static int sub(int x, int y) {
return x - y;
}
static int div(int x, int y) {
return x / y;
}
static int mul(int x, int y) {
return x * y;
}
}