对于给定的贷款额,月支付额包括偿还本金及利息。月利息是通过月利率乘以余额(剩余本金)计算出来的。
        注意:最后一次偿还后,余额可能不为0,如果不为0的话,最后一个月支付额应当是正常的月支付额加上最后的余额。
        提示:编写一个循环来打印该表,由于每个月的还款额都是相同的,因此应当在循环之间开始它。开始时,余额就是贷款总额。在循环的每次迭代中,计算利息及本金,然后更新余额。

编写一个程序,让用户输入贷款总额年限利率,然后显示分期还贷时间表。


package pack2;import java.util.Scanner;public class LoanTimetable {public static void main(String[] args) {try(Scanner input = new Scanner(System.in);) {System.out.print(" Loan Amount: ");double amount = input.nextDouble();System.out.print(" Number of Years: ");int year = input.nextInt();System.out.print(" Annual Interest Rate: ");double annualInterestRate = input.nextDouble();showLoanTimetable(amount, year, annualInterestRate);}}//显示分期还贷时间表public static void showLoanTimetable(double balance, int numberOfYears,double annualInterestRate) {double monthlyRate = annualInterestRate / 1200;double monthlyPayment = monthlyPayment(balance, monthlyRate, numberOfYears);System.out.printf("\n Monthly Payment: %.2f\n", monthlyPayment);System.out.printf(" Total Payment: %.2f\n\n", totalPayment(numberOfYears, monthlyPayment));System.out.println(" Payment#\tInterest\tPrincipal\tBalance");for (int i = 1; i <= numberOfYears * 12; i++) {double interest = monthlyRate * balance;double principal = monthlyPayment - interest;balance -= principal;System.out.printf(" %-6d%14.2f%17.2f\t%15.2f\n", i, interest, principal, balance);}}//月支付额public static double monthlyPayment(double amount, double rate, int year) {return amount * rate / (1 - 1 / Math.pow(1 + rate, year * 12));}//总支付额public static double totalPayment(int year, double monthlyPayment) {return monthlyPayment * 12 * year;}
}

Java、显示分期还贷时间表相关推荐

  1. Java黑皮书课后题第5章:**5.22(金融应用:显示分期还贷时间表)对于给定的贷款额,月支付额包括偿还本金及利息。编写一个程序,让用户输入贷款总额年限利率,然后显示分期还贷时间表

    5.22(金融应用:显示分期还贷时间表)对于给定的贷款额,月支付额包括偿还本金及利息.编写一个程序,让用户输入贷款总额年限利率,然后显示分期还贷时间表 题目 题目概述 运行示例 代码 题目 题目概述 ...

  2. Java,第二次作业——显示分期还贷时间表

    题目: ( 财务应用程序:显示分期还贷时间表)对于给定的贷款额的月支付额包括偿还本金及 利息.月利息是通过月利率乘以余额(剩余本金)计算出来的.因此,每月偿还的本金 等于月支付额减去月利息.编写一个程 ...

  3. Java显示the type xxx is already defined的解决方法

    Java显示the type xxx is already defined 今天在做Java的时候,Eclipse一直显示错误,打开一看,显示The type xxx is already defin ...

  4. 《PHP与MySQL程序设计(第四版)》中第73页4.2.6节分期还贷计算器数学原理分析

    -----------------------------<PHP与MySQL程序设计(第四版)>中第73页4.2.6节分期还贷计算器数学原理分析. <PHP与MySQL程序设计(第 ...

  5. java实现gif动画效果(java显示动态图片)

    关闭 关闭 脚本之家 软件下载 源码下载 在线工具 网页教程基础 服务器常用软件 手机版 关注微信 网页制作 网络编程 脚本专栏 脚本下载 数据库 CMS教程 电子书籍 平面设计 媒体动画 操作系统 ...

  6. java 显示中文_java显示中文乱码的解决方法

    java显示中文乱码的解决方法 发布时间:2020-06-16 11:08:43 来源:亿速云 阅读:97 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java显示中文乱码的解决方法,代码非常 ...

  7. java 显示 装配_SpringInAction--自动化装配(显示装配之 java注解配置)

    Spring在配置时候有三种方案可选 1.在xml中进行显示配置 2.在java中进行显示配置 3.隐式的Bean发现机制和自动装配 今天学习的 第二种-- 在java中进行显示配置 场景: 尽管在很 ...

  8. java动态图片_java实现gif动画效果(java显示动态图片)

    关闭 关闭 java实现gif动画效果(java显示动态图片) 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-29我要评论 这篇文章主要介绍了java实现gif动画效果示例(java ...

  9. java显示图片_java显示图片的方法

    java显示图片的方法 applet能显示GIF,JPEG,BMP等其他格式的图片.为了在applet中显示图片,你需要使用java.awt.Graphics类的drawImage()方法.以下是小编 ...

最新文章

  1. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...
  2. webService学习7:调用天气接口
  3. abap 一些小知识点的总结
  4. 解读OpenShift的逻辑架构和技术架构
  5. 【版本发布】JEECG 3.6.2 移动能力版发布,快速开发平台
  6. MyEclipse Profile 结合visualvm 监控内存泄露
  7. Panabit安装(二、Panabit安装)
  8. final关键字_夯实基础:Java中final关键字的几种用法
  9. BYOD提升企业生产力的5种方式
  10. 专栏数量创新高、问答wap端新视觉
  11. 【转】ajax发送请求时候为什么会报拒绝设置不安全的header
  12. AJPFX关于子类父类中的构造
  13. 《30天学习30种新技术》-Day 15:Meteor —— 从零开始创建一个 Web 应用
  14. Slideout.js+YDUI Touch+mescroll
  15. 基于JavaEye-API实现的Gerry-聊天QQ版v1.0 (全)
  16. 小米路由器安装花生壳实现外网映射
  17. 驱动工程师面试题汇编
  18. 产品| 产品经理学习路径及职业规划
  19. MyBatis 关联映射
  20. Ad Hoc网络路由协议

热门文章

  1. 电脑显示屏哪些材料需要进行BS 476-7 阻燃测试的?
  2. 最靠谱的投资渠道之一:70%亏损的股票市场
  3. 【HDOJ】4642 Fliping game_天涯浪子_新浪博客
  4. 科目二-坡道定点停车起步
  5. 表设计中冗余字段的思考
  6. Druid链接池的配置和使用
  7. 亿信华辰讲述如何做好客商主数据管理
  8. android xposed如何写,Android Xposed 模块与宿主App 配置读写
  9. CK+表情数据库及使用
  10. Acunetix Web Vulnerability Scanner使用指导书