复利计算器3.0

package fulijisuanqi02;

import java.text.DecimalFormat;
import java.util.Scanner;

public class fulijisuanqi02 {
     static Scanner scanner = new Scanner(System.in);
        static DecimalFormat df = new DecimalFormat("####0.0000");

        public static void main(String[] args) {
            //TODO Auto-generated method stub

            System.out.println("1.复利计算;");
            System.out.println("2.单利计算;");
            System.out.println("3.本金计算;");
            System.out.println("4.年限计算;");
            System.out.println("5.报酬率计算;");
            System.out.println("6.累计资产总值计算;");
            System.out.println("7.月还款额计算。");
            System.out.println("请选择:");

            int k = scanner.nextInt();
            switch (k) {
            case 1:
                fulijisuan();
                break;
            case 2:
                danlijisuan();
                break;
            case 3:
                benjinjisuan();
                break;
            case 4:
                nianxianjisuan();
                break;
            case 5:
                baochoulvjisuan();
                break;
            case 6:
                leijizichanjisuan();
                break;
            case 7:
                yinhangdaikuanjisuan();
                break;
            default:
                break;
            }
        }

        private static void yinhangdaikuanjisuan() {
            // TODO Auto-generated method stub
            System.out.println("请输入贷款金额:");
            double P = scanner.nextDouble();
            System.out.println("请输入年利率:");
            double i = scanner.nextDouble();
            System.out.println("请输入还款期限:");
            int n = scanner.nextInt();
            double F = P * (i/12) * Math.pow( 1 + i/12 ,12 * n)/(Math.pow(1 + i/12, 12 * n)-1);
            String f = df.format(F);
            System.out.println("月还款额:"+f);
        }

        private static void leijizichanjisuan() {
            // TODO Auto-generated method stub
            System.out.println("请输入本金:");
            double P = scanner.nextDouble();
            System.out.println("请输入每年的投资金额:");
            double T = scanner.nextDouble();
            System.out.println("请输入投资年限:");
            int n = scanner.nextInt();
            System.out.println("请输入投资利率:");
            double i = scanner.nextDouble();
            for(int j = 0;j < n;j++){
                P = P * (1 + i);
                P = P + T;
            }
            double F = P - T;
            String f = df.format(F);
            System.out.println("资产总值是:"+f);

        }

        private static void baochoulvjisuan() {
            // TODO Auto-generated method stub
            System.out.println("请输入本金:");
            double P = scanner.nextDouble();
            System.out.println("请输入复利终值:");
            double F = scanner.nextDouble();
            System.out.println("请输入年限:");
            int n = scanner.nextInt();
            double i = Math.pow((F / P), (1.0 / n)) - 1;
            String f = df.format(i);
            System.out.println("利率是:"+f);

        }

        private static void nianxianjisuan() {
            //TODO Auto-generated method stub
            System.out.println("请输入本金:");
            double P = scanner.nextDouble();
            System.out.println("请输入利率:");
            double i = scanner.nextDouble();
            System.out.println("请输入复利终值:");
            double F = scanner.nextDouble();
            int n = (int) (Math.log(F / P) / Math.log(1 + i));
            System.out.println("年限是:" + n);
        }

        private static void benjinjisuan() {
            //TODO Auto-generated method stub
            System.out.println("请输入复利终值:");
            double F = scanner.nextDouble();
            System.out.println("请输入利率:");
            double i = scanner.nextDouble();
            System.out.println("请输入年限:");
            int n = scanner.nextInt();
            double P;
            P = F / Math.pow(1 + i, n);
            String p = df.format(P);
            System.out.println("本金是:" + p);
        }

        private static void danlijisuan() {
            //TODO Auto-generated method stub
            System.out.println("请输入本金:");
            double P = scanner.nextDouble();
            System.out.println("请输入利率:");
            double i = scanner.nextDouble();
            System.out.println("请输入年限:");
            int n = scanner.nextInt();
            double F;
            F = P * (1 + i * n);
            String f = df.format(F);
            System.out.println("单利终值是:" + f);
        }

        private static void fulijisuan() {
            System.out.println("请输入本金:");
            double P = scanner.nextDouble();
            System.out.println("请输入利率:");
            double i = scanner.nextDouble();
            System.out.println("请输入年限:");
            int n = scanner.nextInt();
            double F;
            F = P * Math.pow(1 + i, n);
            String f = df.format(F);
            System.out.println("复利终值是:" + f);
        }

}

时间: 2024-10-08 17:57:03

复利计算器3.0的相关文章

复利计算器4.0之再遇JUnit

复利计算器4.0之再遇JUnit 前言    虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测试所需的全面性,没能体现JUnit这一神器的精髓所在,为此本版本的复利计算器在JUnit单元测试方面做了一些完善. 源代码包结构 如上图所示,我把测试类统一放在新建的test源码文件下(test打错了,已改),以便和程序代码分离,方便操作. 细心看你就能发现,test目录下的包和程序SRC目录下相应

0316复利计算器3.0

#include<stdio.h> #include<math.h> double benjin=0,W=0; double year=0; int N=1; double lilv; void danli(){ printf("请输入要存入的本金:"); scanf("%lf",&benjin); printf("请输入年利率:"); scanf("%lf",&lilv); print

0319 复利计算器4.0

  /** 程序完成时间: 3月19日 9:50pm 发表时间: 3月20日 0:18am 此版本是在前三个版本的基础上添加了 等额本息还贷计算 的新功能 并且按照实验要求增强了系统的健壮性,保证在输入一部分的错误的 数据,后程序不会崩溃.例如是在输入int或者是输入double类型的 地方,输入了字符,是会提示并且允许重新输入. 并且通过宏定义使得代码变得简洁,还有简化了修改的操作,还认识 到宏定义的妙用是可以使得编程变得简单,还可以增大代码的复用性. **/ 1 #include<stdio

复利计算器4.0 【java版】

import java.util.Scanner; public class FuLi { public static void main(String[] args) { double N=1; Scanner scanner=new Scanner(System.in); System.out.println("请选择复利计算(1)or单利计算(2)or计算本金(3)or投资年数(4)or报酬率(5)or年资产总值(6)or月资产总值(7):"); int choose=scann

复利计算器5.0加强版

一.客户需求 已完成需求: 1.客户说:帮我开发一个复利计算软件. 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢

复利计算器2.0

package JSQ; import java.awt.EventQueue; import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JButton;import java.awt.event.ActionListener

复利计算器6.0

对界面进行了升级添加了用户注册于登录界面,更完善的功能待续.... 主要代码: 1 package DataBase; 2 3 import java.sql.Connection; 4 import java.sql.ResultSet; 5 import java.sql.SQLException; 6 import java.sql.Statement; 7 8 public class SingUpConnect { 9 private Connection connection; 10

复利计算器5.0

代码链接:https://github.com/LinWenFeng/CompoundInterest

复利计算3.0 心得

这个星期老师在原来复利计算上布置了新的任务,让我慢慢的进入状态来一步一步的完善我的代码,虽然运行的代码不够“豪华”,但是自己有在感觉到在一点点的进步和总结,会慢慢发现每次写总结会对以后的编程之路有益,因为是在记录自己一点点的进步和解决疑惑之处,因为基础问题,在刚开始的编程之路会有很多缺陷,但是会一步步成长起来的,因为最近有学网页制作界面,发现jsp的界面编写会比java简单一些,所以这次总结后,有时间会去尝试用jsp来总结编写,因为感觉用eclipse来创建窗口太复杂. 回顾布置的问题,并附上操