Java 实现计算器

Java 实现计算器

*使用Java语言编写一个能实现“加、减、乘、除”四则运算的计算器程序。*

要求:

(1)在程序中要体现面向对象编程语言的三大特征:封装、继承和多态。

(2)该程序要易于扩展和复用。以后可以方便地增加新的运算;程序的业务逻辑与界面部分要实现分离,便于业务逻辑的复用。

(3)使用UML类图描述程序的结构。

指出你所设计的程序符合哪些设计原则。

思路

要体现封装、继承、多态。所以定义一个Operator操作抽象类,然后分别实现加减乘除类,继承Operator类,这样就有了继承和多态,多个类继承同一个类,有不同的表现方法。

画出类图

在这里插入图片描述

代码:

Operator类

/**
 * @(#)Operator.java
 * @author wangqiuming
 * 操作类
 */

public class Operator {

    public double number1,number2;

    public Operator(double num1, double num2) {
        this.number1=num1;
        this.number2=num2;
    }

    public double getResult() {
        return 0;
    }
}

Add类

/**
 * @(#)Add.java
 * @author wangqiuming
 * 加法类
 */

public class Add extends Operator{
    public Add(int num1,int num2) {
        super(num1,num2);
    }
    public double getResult() {
        return number1+number2;
    }
}

Sub类

public class Sub extends Operator{

    public Sub(int num1, int num2) {
        super(num1, num2);
    }

    public double getResult() {
        return number1-number2;
    }
}

Mul类

public class Mul extends Operator{
    public Mul(double num1,double num2) {
        super(num1,num2);
    }
    public double getResult() {
        return number1*number2;
    }

}

Div类

public class Div extends Operator{
    public Div(int num1, int num2) {
        super(num1,num2);
    }
    public double getResult() {
        return number1/number2;
    }
}

Calculator类:主类调用方法。

import java.util.Scanner;

//使用Java语言编写一个能实现“加、减、乘、除”四则运算的计算器程序。
//        要求:
//        (1)在程序中要体现面向对象编程语言的三大特征:封装、继承和多态。
//        (2)该程序要易于扩展和复用。以后可以方便地增加新的运算;程序的业务逻辑与界面部分要实现分离,便于业务逻辑的复用。
//        (3)使用UML类图描述程序的结构。
//        (4)指出你所设计的程序符合哪些设计原则。

public class Calculator {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int a= sc.nextInt();
        int b= sc.nextInt();
        Add add=new Add(a,b);

        System.out.println(add.getResult());

        Sub sub=new Sub(a,b);
        System.out.println(sub.getResult());

        Mul mul=new Mul(a,b);
        System.out.println(mul.getResult());

        Div div=new Div(a,b);
        System.out.println(div.getResult());

    }
}

  • 15
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万伏小太阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值