問題描述
編寫一個程序,以字符串方式輸入一個前綴表達(dá)式,然后計算它的值。輸入格式為:“運算符 對象1 對象2”,其中,運算符為“+”(加法)、“-”(減法)、“*”(乘法)或“/”(除法),運算對象為不超過10的整數(shù),它們之間用一個空格隔開。要求:對于加、減、乘、除這四種運算,分別設(shè)計相應(yīng)的函數(shù)來實現(xiàn)。
輸入格式:輸入只有一行,即一個前綴表達(dá)式字符串。
輸出格式:輸出相應(yīng)的計算結(jié)果(如果是除法,直接采用c語言的“/”運算符,結(jié)果為整數(shù))。
輸入輸出樣例
樣例輸入
+ 5 2
樣例輸出
7
/*不知道為什么就是只能得到80分,不完全正確,因為忽視了負(fù)數(shù)的存在,小于10的整數(shù)包含負(fù)數(shù)*/ import?java.util.*;?? import?java.math.*; public?class?Main{ private?static?void?add(int?a,int?b) { System.out.println(a+b); } private?static?void?sub(int?a,int?b) { System.out.println(a-b); } private?static?void?mul(int?a,int?b) { System.out.println(a*b); } private?static?void?div(int?a,int?b) { System.out.println(a/b); } public?static?void?main(String[]?args) { Scanner?sc=new?Scanner(System.in); String?str=sc.nextLine(); int?a=str.charAt(2)-'0'; int?b=str.charAt(4)-'0'; switch?(str.charAt(0)) { case?'+': add(a,b);break; case?'-': sub(a,b);break; case?'*': mul(a,b);break; case?'/': div(a,b);break; } } }