分享一段JAVA代码编写的贷款计算器

每年额外还款额:每年年冲的金额(如果没有年冲,或者是月冲,则填0)

public class MortgageCalculator {

    private static final double INITIAL_PRINCIPAL = 800000; // 初始贷款总额
    private static final double ANNUAL_RATE = 0.0285; // 年利率
    private static final int TOTAL_YEARS = 30; // 贷款总年数
    private static final double ANNUAL_EXTRA_PAYMENT = 24000; // 每年额外还款额

    // 计算等额本息还款法的每月还款额
    private static double calculateMonthlyPayment(double principal, double monthlyRate, int totalMonths) {
        double monthlyPayment = principal * monthlyRate * Math.pow(1 + monthlyRate, totalMonths) / (Math.pow(1 + monthlyRate, totalMonths) - 1);
        return monthlyPayment;
    }

    // 主方法,用于计算和打印每年的每月还款额
    public static void main(String[] args) {
        double principal = INITIAL_PRINCIPAL; // 当前贷款余额
        double monthlyRate = ANNUAL_RATE / 12; // 月利率

        // 打印每年每月的还款额
        for (int year = 1; year <= TOTAL_YEARS; year++) {
            int remainingMonths = (TOTAL_YEARS - year + 1) * 12; // 剩余月份数
            double monthlyPayment = calculateMonthlyPayment(principal, monthlyRate, remainingMonths); // 计算当年每月还款额
            System.out.printf("第%d年的每月还款额为:%.2f元\n", year, monthlyPayment);

            // 更新贷款余额(减去年冲还款和当年的月供总额)
            principal -= ANNUAL_EXTRA_PAYMENT;
            if (principal > 0) {
                principal -= monthlyPayment * 12;
            } else {
                // 如果贷款余额已经为负,则不再继续扣减月供
                principal = 0;
            }

            // 如果贷款余额为负,则停止计算
            if (principal <= 0) {
                System.out.println("贷款已提前还清。");
                break;
            }
        }
    }
}

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: public class Calculator { public static void main(String[] args) { // Declare and initialize two variables int num1 = 10; int num2 = 20; // Calculate the sum of num1 and num2 int sum = num1 + num2; // Print the result System.out.println("sum = " + sum); } } ### 回答2: 下面是一个简单的Java代码实现计算器的例子: ```java import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入第一个数字: "); double num1 = scanner.nextDouble(); System.out.print("请输入操作符 (+, -, *, /): "); char operator = scanner.next().charAt(0); System.out.print("请输入第二个数字: "); double num2 = scanner.nextDouble(); double result = 0.0; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; default: System.out.println("无效的操作符"); return; } System.out.println("结果: " + result); } } ``` 这个计算器程序会提示用户输入两个数字和操作符。然后根据操作符进行相应的计算,并将结果输出到控制台上。用户可以输入 +, -, *, 或 / 来执行加法、减法、乘法或除法运算。程序还会处理无效的操作符,并输出错误消息。最后,程序会打印计算结果。 ### 回答3: 实现一个简单的计算器可以使用Java编写程序,以下是一段示例代码: ```java import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入第一个数字:"); double num1 = scanner.nextDouble(); System.out.print("请输入操作符(+、-、*、/):"); String operator = scanner.next(); System.out.print("请输入第二个数字:"); double num2 = scanner.nextDouble(); double result = 0; switch(operator) { case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": result = num1 / num2; break; default: System.out.println("无效的操作符!"); return; } System.out.println("计算结果是:" + result); } } ``` 这段代码首先使用Scanner类获取用户的输入,依次获取第一个数字、操作符和第二个数字。然后根据操作符使用switch语句进行相应的计算,最后将结果打印输出。请注意,这段代码没有考虑输入的合法性和异常处理,仅作为一个简单的示例。如需实现更复杂的计算器功能,还需要考虑更多的情况和处理方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值