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

  • 题目
    • 题目概述
    • 运行示例
  • 代码

题目

题目概述

5.22(金融应用:显示分期还贷时间表)对于给定的贷款额,月支付额包括偿还本金及利息。编写一个程序,让用户输入贷款总额年限利率,然后显示分期还贷时间表
月利息是通过月利率乘以余额(剩余本金)计算出来的
注意:最后一次偿还后,余额可能不为0,如果不为0的话,最后一个月支付额应当是正常的月支付额加上最后的余额
提示:编写一个循环来打印该表,由于每个月的还款额都是相同的,因此应当在循环之间开始它。开始时,余额就是贷款总额。在循环的每次迭代中,计算利息及本金,然后更新余额,这个循环可能是这样的:
for( i = 1; i <= numberOfYears * 12; i++) {
interest = monthlyInterestRate * balance;
principal = monthlyPayment - interest;
balance = balance - principal;
System.out.println(i + “\t\t” + interest + “\t\t” + principal + “\t\t” + balance);
}

运行示例

代码

import java.util.Scanner;public class Test5_22 {public static void main(String[] args) {// 获取用户输入Scanner input = new Scanner(System.in);System.out.println("Loan Amount: ");double amount = input.nextDouble();System.out.println("Number of Years: ");int years = input.nextInt();System.out.println("Annual Interest Rate(7%-->7): ");double interestRate = input.nextDouble();// 计算月支付额、总支付额double monthlyPayment = (amount * interestRate / 1200) / (1 - 1 / Math.pow(1 + interestRate / 1200, years * 12));double totalPayment = monthlyPayment * years * 12;System.out.println("Monthly Payment: " + monthlyPayment);System.out.println("Total Payment: " + totalPayment);// 输出表头System.out.println("Payment# Interest\t\tPrincipal\t\ttBalance");// for循环double interest = 0.0, principal = 0.0;for(int i = 1;i <= years * 12;i++){interest = interestRate / 1200 * amount;principal = monthlyPayment - interest;amount -= principal;if(i == years * 12)principal += amount;System.out.print(i + "\t\t ");System.out.printf("%5.2f\t\t%6.2f\t\t%7.2f\n", interest, principal, amount);}}
}

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

  1. Java黑皮书课后题第3章:**3.9(商业:检验ISBN-10)ISBN-10由10个个位整数d1d2d3d4d5d6d7d8d9d10组成,最后一位d10是校验和,输入前9个数,显示10位ISBN

    **3.9(商业:检验ISBN-10)ISBN-10由10个个位整数d1d2d3d4d5d6d7d8d9d10组成,最后一位d10是校验和,输入前9个数,显示10位ISBN 题目 题目概述 运行示例 ...

  2. Java黑皮书课后题第2章:*2.17(科学:风寒温度)外面有多冷?...twc=35.74+0.6215ta-35.75v0.16+0.4275tav0.16,输入度数、风速显示风寒温度

    *2.17(科学:风寒温度)外面有多冷?...twc=35.74+0.6215ta-35.75v0.16+0.4275tav0.16,输入度数.风速显示风寒温度 题目 题目描述 破题 运行示例 代码 ...

  3. Java黑皮书课后题第5章:5.11(找出能被5或6整除的数,但不能同时整除)编写程序,显示从100到1000之间能被5或6整除但不能同时整除的数,每行显示10个。数字之间用一个空格字符隔开

    5.11(编写程序,显示从100到1000之间能被5或6整除但不能同时整除的数,每行显示10个.数字之间用一个空格字符隔开 题目 题目概述 破题 引申:continue break与return 代码 ...

  4. Java黑皮书课后题第9章:*9.4(使用Random类)编写一个程序,创建一个种子为1000的Random对象,然后使用nextInt(100)方法显示0到100之间的前50个随机整数

    Java黑皮书课后题第9章:*9.4(使用Random类)编写一个程序,创建一个种子为1000的Random对象,然后使用nextInt方法显示0到100之间的前50个随机整数 题目 赘述 代码 题目 ...

  5. Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString()方法分别显示上述日期

    Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString方法分别显示上述日期 题目 代码 思路 代码 题目 代码 思路 ...

  6. Java黑皮书课后题第1章:1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里。编写一个程序显示以每小时为多少千米为单位的平均速度值(1英里等于1.6千米)

    Java黑皮书课后题第1章:1.12(以千米计的平均速度) 题目 题目描述 破题 代码块 修改日志 题目 题目描述 1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里.编写一个 ...

  7. Java黑皮书课后题第1章:*1.11(人口估算)编写一个程序,显示未来5年的每年人口数。假设当前的人口是312 032 486,每年有365天

    Java黑皮书课后题第1章:*1.11(人口估算) 题目 题目描述 破题 代码块 方法评析 为什么print函数内的表达式不能分开 修改日志 题目 题目描述 *1.11(人口估算)编写一个程序,显示未 ...

  8. Java黑皮书课后题第1章:1.7(求π的近似值)编写程序,显示4*(1-1/3+1/5-1/7+1/9-1/11【+1/13】)

    Java黑皮书课后题第1章:1.7(求π的近似值) 题目描述 代码 代码块 评析 修改日志 题目描述 可以使用以下公式计算π: [手动空格]π=4*(1-1/3+1/5-1/7+1/9-1/11+-) ...

  9. Java黑皮书课后题第1章:1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果

    Java黑皮书课后题第1章:1.6(数列求和) 题目 题目描述 槽点 代码 代码块 区分println(x)与println("x") 法1法2选用 修改日志 题目 题目描述 1. ...

最新文章

  1. pyqt tableWidget 单元格设置颜色
  2. R语言构建决策树(decision trees)模型并进行调优和解释
  3. 2Python全栈之路系列之MysQl基本数据类型
  4. java1.9关键字_对 Java 9 把单个下划线作为关键字的猜想
  5. mysql-5.7在CentOS-7下的rpm安装
  6. python中的while循环语句的数组循环_while循环
  7. 【课程作业】EA-CNN演化卷积神经网络实验记录
  8. Go 源码学习之--net/http
  9. 利用深度学习自动补全 Python 代码,这个开源项目有点牛逼
  10. 现在每天虽然比较早到达公司,鸡腿中午8:30接到施电话
  11. 《构建之法》阅读笔记05
  12. python对象与json字符串的相互转化
  13. 如何使用自訂 Segue 實現視圖轉場動畫
  14. 带你实战Android深色模式,深入原理剖析
  15. 架构师须知概念:POJO、PO、DTO、DAO、BO、VO
  16. c++获取umg ue_UE4中UMG与C++交互 页面文本修改
  17. 【沃顿商学院学习笔记】商业基础——Financing:02 年金 Annuity
  18. pwm超详细解读,大佬细说pwm的控制方式
  19. STM32OLED显示-学习笔记
  20. chdir、fchdir 和 getcwd 函数

热门文章

  1. 【直播预告 | 阿里云 CDP 公开课】11月25日下午14点准时开讲
  2. 开源之夏 | 阿里开源近百任务上线
  3. mPaas-RPC拦截器各种场景下的使用指南
  4. 北京沙龙报名 | 关于Dubbo开源的那些事儿
  5. 次世代手游美术资源优化干货分享
  6. The world at your fingertips — 天涯明月刀幕后24(疏离)
  7. pmp每日三题(2022年2月16日)
  8. InnoDB锁机制之Gap Lock、Next-Key Lock、Record Lock解析
  9. SecureCRT突然假死的问题(Ctrl+S)
  10. Oracle RAC 客户端连接负载均衡(Load Balance)