抽象類-程式設計實現運算類(java)
阿新 • • 發佈:2019-02-07
結果是:68.0結果是:2.0
除數不能為0!
import java.util.Scanner; abstract class Operation { double numberA,numberB; abstract double getResult() throws Exception; } class AddOperation extends Operation { double getResult() throws Exception { return numberA+numberB; } } class subOperation extends Operation { double getResult() throws Exception { return numberA-numberB; } } class chengOperation extends Operation { double getResult() throws Exception { return numberA*numberB; } } class DivideOperation extends Operation{ double getResult() throws Exception { if(numberB==0) throw new Exception("除數不能為0!"); return numberA/numberB; } } class OperationFactory{ public static Operation createOperate(String operate) { if(operate.equals("+")) return new AddOperation(); if(operate.equals("-")) return new subOperation(); if(operate.equals("*")) return new chengOperation(); else //if(operate.equals("/")) return new DivideOperation(); } } public class Main{ public static void main(String[] args) { double x,y,z; String op; Scanner in=new Scanner(System.in); while(in.hasNext()) { x=in.nextDouble(); op=in.next(); y=in.nextDouble(); Operation oper=OperationFactory.createOperate(op); oper.numberA=x; oper.numberB=y; try{ z=oper.getResult(); System.out.print("結果是:"+z); } catch(Exception e){ System.out.println(e.getMessage()); } } } }