任务描述:住房贷款

本关任务:编写一个程序,由用户输入住房贷款和贷款年限,程序输出不同利率下的月还款额和总还款额,利率从 5%~8%,增长间隔为 1/8。例如,如果输入贷款额 10000 元人民币,贷款期限 5 年,程序应输出如下内容:

 
  1. 贷款金额: 10000
  2. 贷款年限: 5
  3. 利率 月还款额 总还款额
  4. 5.000% 188.71 11322.74
  5. 5.125% 189.28 11357.13
  6. ……
  7. 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);

           

        }

       

    }

}

Java中编写这个程序,你可以创建一个简单的类`LoanCalculator`,它包含计算月还款额和总还款额的方法。这里是一个基础的示例: ```java import java.util.Scanner; class LoanCalculator { private double loanAmount; private int loanTermYears; private double interestRates[] = {0.05, 0.06, 0.07, 0.08}; // 利率数组 public LoanCalculator(double loanAmount, int loanTermYears) { this.loanAmount = loanAmount; this.loanTermYears = loanTermYears; } public void calculateMonthlyPayment(double rate) { double monthlyRate = rate / 1200; // 将年利率转换为月利率 double monthlyPayment = loanAmount * monthlyRate / (1 - Math.pow(1 + monthlyRate, -loanTermYears * 12)); System.out.printf("利率 %.1f%% 时,月还款额:%.2f 元,总还款额:%.2f 元\n", rate, monthlyPayment, monthlyPayment * loanTermYears * 12); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入贷款金额(元):"); double loanAmount = scanner.nextDouble(); System.out.println("请输入贷款期限(年):"); int loanTermYears = scanner.nextInt(); LoanCalculator calculator = new LoanCalculator(loanAmount, loanTermYears); for (double rate : interestRates) { calculator.calculateMonthlyPayment(rate); } scanner.close(); } } ``` 在这个程序中,用户首先输入贷款金额和贷款期限,然后计算器会遍历给定的利率数组,对于每个利率计算月还款额和总还款额,并打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值