• 银行贷款,求每月等额还款金额


    import java.util.Scanner;
    
    public class Calculate5 {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            Scanner scanner = new Scanner(System.in);
            System.out.println("复利计算器:计算复利和单利终值请按1,计算本金请按2;股票投资:计算时间请按3,计算报酬率请按4,计算资产总值请按5;"
             + "银行贷款:计算月等额还款金额请按6" );
            int num=scanner.nextInt();                 
            if (num == 1) {
                double N = 1, sum;
                System.out.print("请输入本金:");
                double money = scanner.nextDouble();
                System.out.print("请输入存钱年数:");
                int years = scanner.nextInt();
                System.out.print("请输入利率:");
                double r = scanner.nextDouble();
                sum = money + money * years * r;
                System.out.println("单利终值为:" + sum);
                sum = 0;
                for (int i = 1; i <= years; i++) {
                    N = (1 + r) * N;
                }
                sum = N * money;
                System.out.println("复利终值为:" + sum);
    
            }
            if (num == 2) {
                double N = 1, money;
                System.out.print("请输入复利终值:");
                double sum = scanner.nextDouble();
                System.out.print("请输入存钱年数:");
                int years = scanner.nextInt();
                System.out.print("请输入利率:");
                double r = scanner.nextDouble();
                for (int i = 1; i <= years; i++) {
                    N = (1 + r) * N;
                }
                money = sum / N;
                System.out.println("应投入的本金为:" + money);
            }
            if (num == 3) {
                double years;
                System.out.print("请输入本金:");
                double money = scanner.nextDouble();
                System.out.print("请输入最后得到资产总值:");
                double sum = scanner.nextDouble();
                System.out.print("请输入利率:");
                double r = scanner.nextDouble();        
               years=((Math.log(sum)/Math.log(1+r))-(Math.log(money)/Math.log(1+r)));
                System.out.println("时间为(年):" + years);
            }
            if (num == 4) {
                double r,N;
                System.out.print("请输入本金:");
                double money = scanner.nextDouble();
                System.out.print("请输入最后得到资产总值:");
                double sum = scanner.nextDouble();
                System.out.print("请输入存钱年数:");
                int years = scanner.nextInt();
                N=Math.pow(sum/money, 1d/years);//1d是开根号,没有1d就是多少次方
                r=N-1;
                System.out.println("利率为:" + r);
            }
            if (num == 5){
                double sum;
                System.out.print("请输入本金:");
                double money = scanner.nextDouble();
                System.out.print("请输入利率:");
                double r = scanner.nextDouble();
                System.out.print("请输入存钱年数:");
                int years = scanner.nextInt();
                sum=years*12*(money*(r/12)+money);
                System.out.println("若投资本金每月固定不变,则最后得到的资产总值为:" + sum);
                sum=0;
                sum=money*(Math.pow(1+r,years)-1)/r;
                System.out.println("若连本带利投资,则最后得到的资产总值为:" + sum);
            }
           if(num==6){
               double sum,k;
               int month;
               System.out.print("请输入本金:");
               double money = scanner.nextDouble();
               System.out.print("请输入年利率:");
               double r = scanner.nextDouble();
               System.out.print("请输入贷款年数:");
               int years = scanner.nextInt();
               k=r/12;//k为月利率
               month=years*12;//month为贷款月数
               sum=money*k*Math.pow(1+k, month)/(Math.pow(1+k,month)-1);
               System.out.println("每月等额还款金额为:"+sum);
           }
           if(num<1||num>6){
               System.out.println("输入有误,请重新输入");
            }
        }
    }

    本次实验的功能是:如果用户输入的数字范围不在程序的要求之内则判断输入有误;

    本次实验主要是可以算出如果用户向银行贷款,则用户每个月需要等额还款的金额是多少。

  • 相关阅读:
    full gc
    C#调用C++编写的DLL
    用C#调用C++DLL提示找不到DLL解决方法【转】
    VS2015 编写C++的DLL,并防止DLL导出的函数名出现乱码(以串口通信为例,实现串口通信)
    VS2015 C++ 获取 Edit Control 控件的文本内容,以及把获取到的CString类型的内容转换为 int 型
    VS2015 建立一个C++的MFC简易窗体程序项目
    C# 实现串口发送数据(不用串口控件版)
    STM32 HAL库的定时器中断回调函数跟串口中断回调函数
    把 Python 脚本打包成可以直接双击运行的 .exe 文件 【转】
    Python 实现把 .cvs 文件保存为 Excel 文件
  • 原文地址:https://www.cnblogs.com/88mei/p/5294887.html
Copyright © 2020-2023  润新知