国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java從零開始學十七(簡單工廠)

2019-11-14 23:02:38
字體:
來源:轉載
供稿:網友
java從零開始學十七(簡單工廠)簡單工廠的實現

實現一個計算器:要求輸入2個數,和運算符,得到結果

Operation類
package com.pb.demo1;public class Operation {    PRivate double num1;    private double num2;        public double getResult(double num1,double num2){        double result=0;        return result;    }    public double getNum1() {        return num1;    }    public void setNum1(double num1) {        this.num1 = num1;    }    public double getNum2() {        return num2;    }    public void setNum2(double num2) {        this.num2 = num2;    }    }
加,減,乖,除,取模
package com.pb.demo1;/* * 加法 */public class AddOperation extends Operation {    @Override    public double getResult(double num1, double num2) {                return (num1+num2);    }}
package com.pb.demo1;/* * 減法 */public class Substruction extends Operation {    @Override    public double getResult(double num1, double num2) {            return (num1-num2);    }    }
package com.pb.demo1;/* * 乖法 */public class Multiplication extends Operation {    @Override    public double getResult(double num1, double num2) {                return (num1*num2);    }    }
package com.pb.demo1;/* * 除法 */public class Division extends Operation {    @Override    public double getResult(double num1, double num2) {                return (num1/num2);    }    }
package com.pb.demo1;/* * 取余 */public class ModeOperation extends Operation {    @Override    public double getResult(double num1, double num2) {                return (num1%num2);    }    }
工廠類:
package com.pb.demo1;/* * 簡單工廠類 */public class Factory {   //返回類型 為類對象    public Operation getResult(String op){        Operation operation=null;        //根據操作符來聲明對象并返回        switch (op){        case "+":            operation=new AddOperation();            break;        case "-":            operation=new Substruction();            break;        case "*":            operation=new Multiplication();            break;        case "/":            operation=new Division();;            break;        case "%":            operation=new ModeOperation();            break;            default:                System.err.println("輸入運算符不正確!");                break;        }        //返回生成的對象        return operation;    }}
測試類:
package com.pb.demo1;import java.util.InputMismatchException;import java.util.Scanner;/* * 計算器 */public class Demo1 {    public static void main(String[] args) {        //聲明掃描器類型變量        Scanner  input =new Scanner(System.in);        //聲明工廠對象        Factory fac=new Factory();    try{        System.out.println("請輸入第一個整數:");        double num1=input.nextDouble();        System.out.println("請輸入第二個整數:");        double num2=input.nextDouble();        System.out.println("請輸運算符:+、-、*、/、%");        String op=input.next();        //接收工廠的返回對象 工廠根據操作符生成的對象        Operation operation=fac.getResult(op);        //接收計算結果            double result=operation.getResult(num1, num2);            //顯示計算結果            System.out.println(num1+"與"+num2+"的運行結果:"+result);    }catch(InputMismatchException e){        System.err.println("輸入類型不正確!");        }catch(Exception e){        e.printStackTrace();    }    }}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长岭县| 德州市| 隆子县| 徐水县| 屯昌县| 海安县| 青冈县| 浦北县| 来宾市| 武隆县| 克什克腾旗| 商南县| 江安县| 突泉县| 淮安市| 西畴县| 永宁县| 偏关县| 洱源县| 霍林郭勒市| 伊宁县| 灵璧县| 扎囊县| 平遥县| 涪陵区| 叶城县| 哈尔滨市| 平湖市| 枣阳市| 桂阳县| 通州区| 潞城市| 成安县| 香港 | 永丰县| 来凤县| 柳州市| 化德县| 长治市| 尤溪县| 二连浩特市|