Javaブルーブリッジカップアルゴリズムトレーニング接頭辞式を実現


アルゴリズムトレーニングプレフィックス式時間制限: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);
    	}
    
    
    }