一、房贷简易计算器

  • 这个案例是课本上的案例,主要的实现方法就是进行方法之间的调用,以及返回值的数据传递,难度不算大,但是也让我自己想了挺久,也是由两个类进行完成,一个数输出类,一个是功能类,下面看代码!

1、功能类Calculator2

public class Calculator2 {public double Interest; //定义类变量 总利息public double Repayment; //定义类变量 每月还款金额public String Yea3(double m,int y){   //获取金额,存放年数switch (y){case 3:   //如果客户输入的3年Interest = m*0.0603;   //3年总利息this.Repayment = (m+Interest)/36;  //计算每月还款break;case 5:Interest = m*0.0612; //20年总利息this.Repayment = (m+Interest)/60;  //计算每月还款break;case 20:Interest = m*0.0639;   //5年总利息this.Repayment = (m+Interest)/240;  //计算每月还款break;}return y+"年借款的每个月供为:"+this.Repayment+"元";}public Calculator2() {System.out.println("请输入您的贷款金额:");Scanner Jine = new Scanner(System.in);double yonghu = Jine.nextDouble();  //获取用户输入的金额System.out.println("----------------------------------------");System.out.println("-------年限--------利率----------");System.out.println("\t3年(36个月)\t\t6.03%\t\t");System.out.println("\t5年(60个月)\t\t6.12%\t\t");System.out.println("\t20年(240个月)\t6.39%\t\t");System.out.println("请输入您的贷款年限(输入整数3、5、20):");int yonghu2 = Jine.nextInt();  //获取用户输入的年限String jie = Yea3(yonghu,yonghu2); //借款年限System.out.println(jie);}
}

这里主要总结一下:书本上的利率基本信息也都有了,主要是将用户输入的年份以及存款数额传递到功能的构造方法中,使用double以及int变量分别存储,然后里面switch控制流程就行计算,最终得出结果!

2、输出类CalculatorText


public class CalculatorText {public static void main(String[] args) {Calculator2 c2 = new Calculator2(); //直接输出无参构造方法!}
}

这里主要是用来实例化对象,然后输出默认的无参构造方法,也就是用户输入信息的方法,那里面也完成了信息的输出,所以这里相当于一个前端的接口!

二、三角形判断

这里我就不做过多的详解了,使用的都是一些简单的判断语句!还是跟上面一样,使用了两个类来进行输出以及调用!

1、功能类Triangle

package com.actual.sexth;import java.util.Scanner;public class Triangle {Scanner scanner = new Scanner(System.in);public boolean Trian(int a,int b,int c) {boolean flog = false;   //默认为假,则不为三角形!if ((a + b) < c || (a + c) < b || (b + c) < a) {  //判断是否属于三角形flog = false;System.out.println("这不是三角形!");} else {flog = true;if ((a * a) == ((b * b) + (c * c)) || (b * b) == ((a * a) + (c * c)) || (c * c) == ((a * a) + (b * b))) {System.out.println("这个是直角三角形!");}else if ((a * a)>((b * b) + (c * c)) || (b * b)>((a * a) + (c * c)) || (c * c)>((a * a) + (b * b))){System.out.println("这是钝角三角形!");}else {System.out.println("这个是锐角三角形!");}}System.out.println("是否继续?y/n");String j = scanner.next();  //获取用户输入的整数if (j.equals("y")){return shuchu();}else {System.out.println("感谢使用!");}return flog;}public boolean shuchu () {boolean a =false;System.out.println("请输入第1条边:");int i1 = scanner.nextInt();  //获取用户输入的整数System.out.println("请输入第2条边:");int i2 = scanner.nextInt();  //获取用户输入的整数System.out.println("请输入第3条边:");int i3 = scanner.nextInt();  //获取用户输入的整数System.out.println(Trian(i1, i2, i3));return a;}}

2、输出类

public class TriangleText {//输出类public static void main(String[] args) {Triangle ti = new Triangle();ti.shuchu();}
}

方法跟房贷简易计算器的基础差不多,只是我更多使用到的就是判断语句,代码还可以进行很多优化的!可以自己再去研究一下!

三、重写

  • 重写与重载,是有一定的区别的!这个千万不能搞混!
  • 重写需要有继承关系。子类重写父类的方法!
  • 方法名必须相同!
  • 参数列表必须相同!
  • 修饰符:范围可以扩大但是不能缩小!public - protected - default - rrivate
  • 抛出的异常:范围,可以被缩小,但不能扩大!
  • 重写,子类的方法和父类必要一致!方法体不同!

为什么要重写: 父类的功能,子类不一定需要,或者不一定满足!

代码示范一下!
父类

package com.actual.seventh;
//动物类
public class Animal {private String color;   //颜色private String type;   //类别private int age;   //年龄private int weight;   //体重//将方法进行封装public String getColor() {return color;}public void setColor(String color) {this.color = color;}public String getType() {return type;}public void setType(String type) {this.type = type;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getWeight() {return weight;}public void setWeight(int weight) {this.weight = weight;}public void info() {System.out.println("我是爸爸啊!");}
}

子类鸟

package com.actual.seventh;
//鸟类
public class Bird extends Animal{@Overridepublic String getColor() {return super.getColor();}@Overridepublic void setColor(String color) {super.setColor(color);}@Overridepublic String getType() {return super.getType();}@Overridepublic void setType(String type) {super.setType(type);}@Overridepublic int getAge() {return super.getAge();}@Overridepublic void setAge(int age) {super.setAge(age);}@Overridepublic int getWeight() {return super.getWeight();}@Overridepublic void setWeight(int weight) {super.setWeight(weight);}public void info(){  //重写父类的输出语句!System.out.println("我是一只"+getColor()+getType()+"!");System.out.println("我今年"+getAge()+"岁了!");}}

子类鱼

package com.actual.seventh;
//鱼类   继承后全部重写父类的方法!
public class Fish extends Animal{@Overridepublic String getColor() {return super.getColor();}@Overridepublic void setColor(String color) {super.setColor(color);}@Overridepublic String getType() {return super.getType();}@Overridepublic void setType(String type) {super.setType(type);}@Overridepublic int getAge() {return super.getAge();}@Overridepublic void setAge(int age) {super.setAge(age);}@Overridepublic int getWeight() {return super.getWeight();}@Overridepublic void setWeight(int weight) {super.setWeight(weight);}public void info(){System.out.println("我是一只"+getWeight()+"斤重的"+getType()+"!");System.out.println("我今年"+getAge()+"岁了!");}
}

输出类

package com.actual.seventh;public class Apploct {public static void main(String[] args) {//父类引用指向子类对象,把鸟类的对象复制到父类Animal上面!Animal animal = new Bird();animal.setType("鸟");animal.setAge(4);animal.setColor("红色");animal.info();Animal fish = new Fish();fish.setType("鱼");fish.setAge(2);fish.setColor("蓝色");fish.setWeight(5);fish.info();}
}

重写其实很简单,主要是理解前面继承的关系即可!


注:文章仅做个人学习日记,不做学习建议,学习来源:狂神说

学习java的第十七天,房贷简易计算器,三角形判断、面向对象重写方法的学习相关推荐

  1. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

  2. [ Java ] 实现两个数加减乘除的简易计算器

    [ Java ] 实现两个数加减乘除的简易计算器 新手,不足之处望大佬们海涵 感谢( *ˊᵕˋ)✩︎‧₊ 以下为代码: package com.zhong.homework;import java.u ...

  3. 学习C语言之用函数做出简易计算器

    学习C语言之用函数做出简易计算器 #include<stdio.h> #include<stdlib.h>int add(int x,int y) {int z;z = x+y ...

  4. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  5. 教你学Java | 带你学习Java多线程(续:创建线程的其他方式与activeCount方法的浅谈)

    前言 相信每一位程序猿对"多线程"这个概念应该都不陌生,无论是在开发还是面试的时候,都会遇到多线程的问题.不过,一定有很多小伙伴才刚刚接触到多线程,那么在此就由小弟为各位小伙伴细细 ...

  6. 【java小练习】一看就懂的#判断闰年的方法#

    1.题目复述(难度等级:**) 定义方法:判断一个年份是否是闰年,如果是返回是闰年.举例 1999是闰年 如果不是返回1999不是闰年 普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2 ...

  7. 哪些人适合学习java技术

    java技术在互联网行业一直都是非常重要的存在,学习java技术只会多不会少,那么目前哪些人适合学习java技术呢?来看看下面的详细介绍就知道了. 哪些人适合学习java技术? 1.在家待业人员,没有 ...

  8. 学习java技术有前途吗

    java技术在我国的普及已经是非常广泛的了,很多人都知道,java行业的发展前景是非常好的,但竞争压力也是非常大的,到底学习java技术有前途吗?来看看下面的详细介绍. 学习java技术有前途吗?目前 ...

  9. 零基础学习Java培训有什么攻略

    零基础学习Java培训有什么攻略?java是主流编程语言之一,我们在学习Java的时候需要制定Java学习路线图,Java涉及到的知识点非常的多,我们该从何学起呢?怎么系统的学习呢?来看看下面的详细介 ...

  10. 零基础学习java软件开发攻略

    Java是主流开发语言,应用普遍.Spring Boot是Java开发时常用框架,有非常丰富的组件和易用的功能.实际开发工作中涉及到的知识点比较多,将它们分门别类,专题攻关,由点到面,学习效率非常高. ...

最新文章

  1. 熬夜彻底搞懂Cookie Session Token JWT
  2. linux定时任务crontab 时间,shell后台定时任务时crontab的用法
  3. 怎么把写好的python代码打包成exe-【Python之点到为止】如何优雅的将你的代码打包成EXE...
  4. ppt学习(1) ppt学习网站
  5. 学python需要记笔记吗_开始学python,一些笔记
  6. 系统集成项目管理视频课程
  7. 使用PO+跨平台改造Macaca示例(APP端)
  8. 不搞虚的!快速把你拉入Docker 的门里 | 原力计划
  9. 李笑来登顶 GitHub TOP 榜!币圈大佬要教程序员如何自学编程
  10. Matlab函数之lower函数与upper函数
  11. python学习一:基本数据类型
  12. 文字处理技术:终于明白了压缩要怎么做
  13. Java实现简易版的【图书管理系统】
  14. 步进电机转速 与 pwm 关系
  15. 介绍中国象棋对弈程序ElephantEye(象眼)
  16. Java对接海康威视明眸门禁设备
  17. HTML里css画蝴蝶,纯css3制作煽动翅膀的蝴蝶的示例
  18. 2022年蓝桥杯砍竹子
  19. Oracle VM VirtualBox不能正常运行(电脑强行关机后,Linux不能正常运行)
  20. html页面显示不全,小技巧助你解决div+css网页内容显示不完整

热门文章

  1. python 切片步长_python 索引+切片+步长
  2. 波形发生器电路的设计(实现正弦波、方波和三角波的输出)
  3. java根据身份证号码计算年龄的方法(精确到日)
  4. cesium多边形描边_cesium--绘制多边形polygon
  5. Windows命令行调用windows 图片和传真查看器等
  6. 程序员笔试之吉比特雷霆游戏2021届技术类单选题收集整理(十一)
  7. 【Yolov5】训练yolov5模型并集成到安卓应用中(中)——模型转化
  8. 十道解分式方程及答案_10道解分式方程练习题及答案.doc
  9. 动力电池SOC估算方法综述
  10. EKF扩展卡尔曼滤波算法做电池SOC估计,在Simulink环境下对电池进行建模