工廠類計算器

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


class Operate{
 double numA;
 double numB;
 public double getResult(double numA,double numB){
  double result =0d;
  return result;
 }
}

class AddOperate extends Operate{
 
 public double getResult(double numA,double numB){
  double result =0d;
  result=numA+numB;
  return result;
 }
}

class SubOperate extends Operate{
 
 public double getResult(double numA,double numB){
  double result =0d;
  result=numA-numB;
  return result;
 }
}

class MulOperate extends Operate{
 
 public double getResult(double numA,double numB){
  double result =0d;
  result=numA*numB;
  return result;
 }
}

class DivOperate extends Operate{
 
 public double getResult(double numA,double numB){
  double result =0d;
  try {
   if (numB == 0) {
    throw new Exception("除數不能爲零!");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }  
  result=numA/numB;
  return result;
 }
}


class Factory{
 
 public static Operate createOperate(char c){
  Operate op=null;
  switch (c){

  case '+':
   op=new AddOperate();
   break;
  case '-':
   op=new SubOperate();
   break;
  case '*':
   op=new MulOperate();
   break;
  case '/':
   op=new DivOperate();
   break;
  }
  return op;
 
}
}


public class Test {

 public static void main(String [] args)
 {
  double numA = 0;
  char c = 0;
  double numB = 0;
  
  try {
   System.out.println("請輸入第一個數字:");
   BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
   numA = Double.parseDouble(br.readLine());
  
   System.out.println("請選擇運算方法(+,-,*,/):");
   BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
   c = br2.readLine().charAt(0);
 
   System.out.println("請輸入第二個數字:");
   BufferedReader br3=new BufferedReader(new InputStreamReader(System.in));
   numB = Double.parseDouble(br.readLine());
 
  } catch (Exception e) {
   e.printStackTrace();
  } 

  Operate op=Factory.createOperate(c);
  double i=op.getResult(numA, numB);
  System.out.println(i);
 }
}

發佈了34 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章