设计贷款类Loan,Loan类包括贷款年利率(annualInterestRate),贷款年限(numberOfYears)、贷款额(loanAmount),贷款日期(loanDate)成员变量,还包含获取和设置贷款年利率、贷款年限、贷款额的方法,以及贷款的月支付额和总支付额的方法。

又到了期末了,又到了交实验报告了,这个是java 的实验报告内容,写下来仅供参考,记录自己的笔记。

目的:

进一步熟悉类的成员变量和成员方法的定义;

进一步熟悉对象的创建的使用与使用方法;

进一步熟悉包的创建与引用方法;

进一步了解类的访问权限;

提示:Java.util.Data类可以用于创建当前日期和时间的实例。当一个贷款Loan类对象创建后,它的创建日期存入Data类的对象中。

java.uilt.Math类包含了基本数据的操作,如指数、对数、开平发等。它的pow(double a double b)方法返回参数a 的b次幂的值。

创建一个包,包中创建贷款类Loan

package Student;
public class Loan {private double monthiyInterestRate;//定义贷款月利率private int numberOfMonths;//定义贷款总月数private double loanAmount;//定义贷款总额//构造方法,初始化成员变量public Loan(double annualInterestRate,int numberOfYears,double loanAmount) {//定义贷款利率是百分数除以100,月利息在除以12this.monthiyInterestRate = annualInterestRate/(100*12);this.numberOfMonths = numberOfYears*12;this.loanAmount = loanAmount;}//返回等额本息还款方式下个月均还款额公式 (贷款本金*月利率+(1+月利率)^还款月数)///((1+月利率)^还款月数-1)public double getMonthlyPayment() {    return(loanAmount*monthiyInterestRate*Math.pow(1+monthiyInterestRate,numberOfMonths))/(Math.pow(1+monthiyInterestRate,numberOfMonths)-1);}//返回等额本息还款方式下支付的总本息public double getTotalPayment() {return getMonthlyPayment()*numberOfMonths;}}

再创建一个测试类LoanMain

package Student;
import java.util.Scanner;
import java.text.DecimalFormat;public class Experiment2 {public static void main(String[] arge) {double interestrate,loanvalue;//定义贷款利率和贷款额变量int loanperiod;//定义贷款年限Scanner in= new Scanner(System.in);System.out.println("请输入贷款年利率:");interestrate = in.nextDouble();//输入贷款利率System.out.println("请输入贷款年限:");loanperiod = in.nextInt();//输入贷款年限System.out.println("请输入贷款总额:");loanvalue = in.nextDouble();//输入贷款总额//创建贷款类对象Loan loan = new Loan(interestrate,loanperiod,loanvalue);//创建DecimalFormat对象df,以控制输出时小数的位数DecimalFormat df = new DecimalFormat("#.00");System.out.println("等额本息情况下的月均还款额度为:"+df.format(loan.getMonthlyPayment())+"元");System.out.println("贷款"+loanperiod +"年的总还款额度为:"+df.format(loan.getTotalPayment())+"元");}
}

保存并运行,运行结果如下:

输入贷款年利率

输入贷款年限

输入贷款总额,最终得到想要的结果

主要介绍了Java面向对象程序设计的是基本概念和基本方法,其中包括类的定义方法,对象的创建和使用方法,包的创建和使用方法等。

模拟贷款,设计贷款类Loan,Loan类包括贷款年利率(annualInterestRate),贷款年限(numberOfYears)、贷款额(loanAmount)......相关推荐

  1. 【Python养成】:案例(设计三维向量类、实现向量的加法、减法以及向量与标量的乘法和除法运算、编写自定义类,模拟内置集、编写自定义类,模拟双端队列。)

    学习内容:设计三维向量类.实现向量的加法.减法以及向量与标量的乘法和除法运算 设计三维向量类.实现向量的加法.减法以及向量与标量的乘法和除法运算 实验代码: class Vector_3D:def _ ...

  2. account表里有什么 银行_模拟一个银行账户类Account,账户类中包括所有者、账号、余额、账户总数、存款、取款等信息。_学小易找答案...

    [单选题]廉价磁盘冗余阵列RAID利用冗余技术实现高可靠性,其中RAID1的磁盘利用率为() . [简答题]与直流调速相比,交流调速有何优点? [论述题]方法 [单选题]以<老子注>一书驰 ...

  3. 学习笔记,初学者对继承、接口的习题练习: 模拟给所有员工发工资定义员工Employee类,经理Manager类继承Employee类,职员Clerk类继承Employee类。

    继承.接口: 习题要求: 模拟给所有员工发工资. * 定义员工Employee类,经理Manager类继承Employee类,职员Clerk类继承Employee类. * 定义Money接口,定义公司 ...

  4. Django框架(3.django设计模型类、模型类生成表、ORM框架简介)

    ORM框架简介 O是object,也就类对象的意思, R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思, M是mapping,是映射的意思.在ORM框架中,它帮我们把类和数据表进 ...

  5. Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域

    ***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序.设计一个名为Tax类,该类包含下面的实例数据域 题目 程序解释 代码 Test8.java Test8_Tax.jav ...

  6. java实体类设计_java实验1 实体类的设计-答案

    实验一实体类设计 一.实验时间:姓名:学号: 二.实验目的 1.掌握Java的类结构: 2.掌握实体类的作用: 3.能够对相似对象的共同属性进行抽象: 4.掌握对成员变量的赋值和取值函数编写: 5.理 ...

  7. 用C++ 设计一个不能被继承的类

    题目:用C++ 设计一个不能被继承的类. 分析:这是Adobe 公司2007 年校园招聘的最新笔试题.这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目. 在Java 中定义 ...

  8. 设计一个长方形类。成员变量包括:长度和宽度,成员函数除包括计算周长和计算面积外, 还包括用set方法来设置长方形的长度和宽度,以及用get的方法来获得长方形的长度和宽度 最后,编写一个测试程序来测试所

    本文为博主原创文章,未经博主允许不得转载. 版权为陈博超所有,第一次于2020年11月22日发表于BLOG上 本BLOG上原创文章未经本人许可,不得用于商业用途.转载请经允许后注明出处,否则保留追究法 ...

  9. 设计一个分数类java_Java 有理数类 分数类 Rational类的设计与实现

    要实现Rational类的加减乘除,要实现其可比较性,要覆盖toString()方法,要实现不同数据类型的转换等. package chapter14; public class Rational e ...

最新文章

  1. Web Office 常见问题解决方法
  2. 死磕Java并发:J.U.C之AQS简介
  3. java项目红叉_完美解决Eclipse导入的项目上有个红叉,但不影响项目运行的问题
  4. SimVLM:拒绝各种花里胡哨!CMUGoogle提出弱监督极简VLP模型,在多个多模态任务上性能SOTA...
  5. 字符串时间格式转化-java Unit
  6. Linux使用LVM逻辑卷 给分区扩容 不重启 热扩容
  7. 在哪可以听到施一公教授的课程_为何81%的清华留学生不愿回国?施一公:中国学生有一“通病”...
  8. php中sprintf与printf函数用法区别
  9. Python的逻辑操作
  10. 高可用eureka服务发现实例
  11. 【机器学习】适用于机器学习初学者的8个小项目
  12. linux csr蓝牙驱动,佳能 CSR BlueCore Bluetooth 驱动程序下载-更新佳能软件(蓝牙)
  13. OSChina 周五乱弹 —— 有一个朝代红薯不能去
  14. 微信小程序图片懒加载插件
  15. NCCL+Ubuntu20.04安装
  16. NUL 与 NULL
  17. 实操《深入浅出React和Redux》第四期--react-redux
  18. 【基础知识】PCB布局设计入门步骤
  19. matlab-频响函数
  20. 干掉Vivado幺蛾子(2)-- 快速替换debug probes

热门文章

  1. 【2019/07/20测试 T2】切题
  2. QT+OSG/osgEarth编译之四十三:jasper+Qt编译(一套代码、一套框架,跨平台编译,版本:basisjasper-2.0.12)
  3. 汇编指令lmm_动画视频角色的LMM神经网络
  4. 状态压缩技巧:动态规划的降维打击
  5. linux 打开网页 看不清网页上的字体呈现出框,电脑浏览器打开网页字体显示模糊如何解决...
  6. 苹果键盘c语言,苹果电脑键盘功能键使用方法
  7. 基于NPOI导入导出excel的工具,方便灵活
  8. android 清理缓存动画,Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解...
  9. 设计模式学习(汇总版)
  10. 关于Git提交报warning解决方法(个人笔记)