Java控制台实现计算器[面向对象思想-02]

import java.util.*;
public class Test01{
// 测试类
    public static void main(String [] args){

        finalTest();
    }

    public static void finalTest(){
        while(true){//  实例化一个计算类的对象,通过 set 方法设置值, get方法获取值
            OperationTest  p  = new OperationTest();
            p.setNum1(new Scanner(System.in).nextDouble());
            String s= new Scanner(System.in).next();
            p.setNum2(new Scanner(System.in).nextDouble());
            Test(p.getNum1(),s,p.getNum2());
        }
    }

    public static void Test(double num1,String e,double num2){

        final String a ="+",b="-",c="*",d="/";
        switch(e){
            case a:System.out.println(num1+e+num2+"="+OperationAdd.getResult());
              break;
            case b:System.out.println(num1+e+num2+"="+OperationSub.getResult());
              break;
            case c:System.out.println(num1+e+num2+"="+OperationMul.getResult());
              break;
            case d:System.out.println(num1+e+num2+"="+OperationDiv.getResult());
              break;

        }
    }

}
// 计算类的父类
class OperationTest{
    public  static double num1;
    public  static double num2;
    //  get  set 方法
    public OperationTest() {
    }

    public double getNum1() {
        return num1;
    }

    public double getNum2() {
        return num2;
    }

    public void setNum1(double num1) {
        this.num1 = num1;
    }

    public void setNum2(double num2) {
        this.num2 = num2;
    }

    public static double  getResult(){
        double result =0;
        return  result;
    }

}

//  计算加法的类 继承 自计算类
class OperationAdd extends OperationTest{
    public static double getResult(){
        return num1+num2;
    }
}
//   计算减法的类 继承自计算类
class OperationSub extends OperationTest{
    public static double getResult(){
        return num1-num2;
    }
}
//   计算乘法的类 继承自计算类
class OperationMul extends OperationTest{
    public static double getResult(){
        return num1*num2;
    }
}
//  计算除法的类 继承自计算类
class OperationDiv extends OperationTest{
    public static double getResult(){
        return num1/num2;
    }
}
时间: 2024-07-29 06:33:00

Java控制台实现计算器[面向对象思想-02]的相关文章

java基础学习05(面向对象基础02)

面向对象基础02 实现的目标 1.String类的使用 2.掌握this关键字的使用3.掌握static关键字的使用 String类 实例化String对象一个字符串就是一个String类的匿名对象,就是已经开辟了堆内存空间的并可以直接使用的对象.1.采用直接赋值的方式进行操作. String name = "zhangsan"; 使用这种方式,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明时,就不会再开辟内存空间.2.直接调用String类的构造方法(public S

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

Java - 面向对象思想进行JDBC编程

mysql-connector-java-5.1.7-bin.jar jdbc.properties driver=com.mysql.jdbc.Driver jdbcUrl=jdbc\:mysql\://localhost\:3306/lesson user=root password= JDBCTools.java package 面向对象思想进行JDBC编程; import java.io.IOException; import java.io.InputStream; import ja

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

Java面向对象思想

Java的核心思想,面向对象思想. Java面向对象的最高境界,万物皆对象. 对象:现实中随处可见的事物都可以叫对象,对象就是实体的事物,人.小鸟.桌子.大树.楼房等等.对象又有自己的属性行为,属性行为又分为动态行为和静态行为.人的年龄姓名性别身高等属性是静态的,人可以唱歌,游泳,哭泣等行为是动态的. 对象在系统中是用来描述客观事物的一个实体,它是构成系统的一个基本单位.它也是由一些基本属性和对这些属性进行操作的一些方法来构成. 类是对对象属性和行为(方法)的载体,具有相同属性和行为(方法)的实

黑马程序员----java基础----面向对象思想和类的概述

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 面向对象(掌握) (1)面向对象 面向对象是基于面向过程的编程思想. 面向对象和面向过程的区别:面向过程强调的是每一个功能的具体步骤.面向对象强调的是对象,然后由对象去调用功能. (2)面向对象的思想特点 A:是一种更符合我们思考习惯的思想 B:把复杂的事情简单化 C:让我们从执行者变成了指挥者 举例: 买电脑 面向过程:了解电脑---了解自己的需求---对比电脑参数---去中关村买电脑--买

java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述

在之前的java 23 中,了解过设计模式的单例模式和工厂模式.在这里,介绍下设计模式 面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则 单一职责原则 其实就是开发人员经常说的"高内聚,低耦合" 也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个.在设计模式中,所有的设计模式都遵循这一原则. 开闭原则 核

JAVA的面向对象思想

Java的面向对象思想如何树立 要知道Java面向对象的思想,那么我感觉应该对比着来学习. 首先我们要区分一下"基于对象"和"面向对象"的区别. 基于对象,通常指的是对数据的封装,以及提供一组方法对封装过的数据操作.就比如 C 的 IO 库中的 FILE * 就可以看成是基于对象的. 而面向对象呢,则在基于对象的基础上增加了多态性.多态就是可以用统一的方法对不同的对象进行同样的操作.当然,这些对象不能完全不同,而需要有一些共性,只有存在了这些共性才可能用同样的方法去

Java如何实现面向对象思想

"在JAVA中,我们所做的所有工作,就是定义类,创建这些类的对象,并传消息给这些对象" 对于JAVA面向对象思想的学习,依照此理解顺序 1.理解面向对象的总体思想与主要特性,例如封装,继承,多态,超类,集合,泛型,多线程等等. 2.接下来,也就是本章节讲解的内容,我们需要进一步了解,利用JAVA语言本身进行面向对象程序设计的过程. 操纵对象的"引用" 任何一种编程语言,都拥有其操纵内存中元素的方式.通过引用对象操作内存,可以把引用视为一个遥控器,将对象视为一个电视.