本关任务:编写一个程序,由用户输入住房贷款和贷款年限,程序输出不同利率下的月还款额和总还款额,利率从 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 代表贷款年限。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
import java.util.Scanner;
public class LoanTest{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int num=input.nextInt();
int year=input.nextInt();
System.out.println("贷款额:"+num);
System.out.println("贷款年限:"+year);
System.out.println("利率 月还款额 总还款额");
double n=0,p=0;
for(double i=5.000;i<=8.000;i+=0.125){
double y=i/12/100;
n=(num*y*Math.pow((1+y),year*12))/((Math.pow((1+y),12*year))-1);
p=12*year*n;
System.out.printf("%.3f",i);
System.out.print("%");
System.out.printf(" %.2f %.2f\n",n,p);
}
}
}