Javaブルーブリッジカップアルゴリズムトレーニング接頭辞式を実現
1266 ワード
アルゴリズムトレーニングプレフィックス式時間制限:1.0 sメモリ制限:512.0 MB問題記述プログラムを記述し、文字列でプレフィックス式を入力し、その値を計算します.入力形式は、「演算子オブジェクト1オブジェクト2」で、演算子は「+」(加算)、「-」(減算)、「*」(乗算)、または「/」(除算)で、演算オブジェクトは10を超えない整数で、スペースで区切られています.要求:加算、減算、乗算、除算の4つの演算に対して、それぞれ相応の関数を設計して実現する.≪フォーマットの入力|Input Format|emdw≫:1行のみ、すなわち接頭辞式文字列を入力します.出力フォーマット:対応する計算結果を出力します(除算の場合は、c言語の「/」演算子を直接使用し、結果は整数です).入出力サンプル入力 2 2サンプル出力7
import java.util.Scanner;
public class {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String str=input.nextLine();
input.close();
int result = 0;
int num1=Integer.parseInt(str.charAt(2)+"");
if(Character.isDigit(str.charAt(3)))
num1=num1*10+Integer.parseInt(str.charAt(3)+"");
int num2=Integer.parseInt(str.charAt(str.length()-1)+""); // ( , )
if(Character.isDigit(str.charAt(str.length()-2))) // ,
num2=Integer.parseInt(str.charAt(str.length()-2)+"")*10+num2;
switch (str.charAt(0)) {
case '+':
result=num1+num2;
break;
case '-':
result=num1-num2;
break;
case '*':
result=num1*num2;
break;
case '/':
result=num1/num2;
break;
}
System.out.println(result);
}
}