任务描述
本关任务:编写一个程序,由用户输入住房贷款和贷款年限,程序输出不同利率下的月还款额和总还款额,利率从 5%~8%,增长间隔为 1/8。例如,如果输入贷款额 10000 元人民币,贷款期限 5 年,程序应输出如下内容:
- 贷款金额: 10000
- 贷款年限: 5
- 利率 月还款额 总还款额
- 5.000% 188.71 11322.74
- 5.125% 189.28 11357.13
- ……
- 8.000% 202.76 12165.83
注意:贷款金额、贷款年限和结果之间用英文冒号和一个空格分隔;利率、月还款额和总还款额之前用 4 个空格分隔。
计算公式如下所示:
月利率=12年利率
总还款额=月还款额×12×year
月还款额=(1+月利率)year×12−1(贷款金额×月利率)×(1+月利率)year×12
以上公式中 year 代表贷款年限。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
参考答案
// 请在Begin-End间编写完整代码,类名请使用LoanTest // 导入 Scanner 类 import java.util.Scanner; // 定义公开类 LoanTest public class LoanTest { // 定义主方法 main,在该方法中完成本关任务 public static void main(String[] args) { Scanner input = new Scanner(System.in); // 接收贷款额 int loan=input.nextInt(); // 接收贷款年限 int year=input.nextInt(); // 第一步:定义变量月还款额,并赋初值0 double monthlyPay=0; // 第二步:定义变量总还款额,并赋初值0 double totalPay=0; // 第三步:输出贷款额 System.out.println("贷款额:"+loan); // 第四步:输出贷款年限 System.out.println("贷款年限:"+year); // 第五步:输出利率、月还款率以及总还款率 System.out.println("利率"+" "+"月还款额"+" "+"总还款额"); for (double i=5;i<=8;i+=0.125) { // 月利率 double a=i/1200; // 月还款额 monthlyPay=loan*a*Math.pow(1+a,12*year)/(Math.pow(1+a,12*year)-1); // 总还款额 totalPay=12*monthlyPay*year; // 格式化输出 System.out.printf("%.3f%%t%.2ft%.2fn",i,monthlyPay,totalPay); } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)