编写程序,让用户输入输入贷款总额和以年为单位的贷款期限,然后显示利率从5%到8%每次递增1/8的各种利率下,每月支付额和总支付。
package pack2;
import java.util.Scanner;
public class LoanComparation {
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();
loan(amount, year);
}
}
//比较不同利率下的贷款
public static void loan(double amount, int year) {
System.out.println(" Interest Rate\tMonthly Payment\tTotal Payment\n");
for (double i = 5; i <= 8; i += 1/8.0) {
double monthlyPayment = monthlyPayment(amount, i, year);
System.out.printf(" %.3f%%\t%14.2f\t%16.2f\n", i, monthlyPayment,
totalPayment(year, monthlyPayment));
}
}
//月支付额
public static double monthlyPayment(double amount, double rate, int year) {
rate /= 1200;
return amount * rate / (1 - 1 / Math.pow(1 + rate, year * 12));
}
//总支付额
public static double totalPayment(int year, double monthlyPayment) {
return monthlyPayment * 12 * year;
}
}