复利计算器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=scanner.nextInt();

        if(choose==1){
            System.out.println("请输入本金:");
            float P=scanner.nextInt();
            System.out.println("请输入利率:");
            float i=scanner.nextFloat();
            System.out.println("存入时间:");
            float n=scanner.nextFloat();
            fuli(N, P, i, n);
        }
        if(choose==2){
            System.out.println("请输入本金:");
            float P=scanner.nextInt();
            System.out.println("请输入利率:");
            float i=scanner.nextFloat();
            System.out.println("存入时间:");
            float n=scanner.nextFloat();
            danLi(P, i,n);
        }
        if(choose==3){
            System.out.println("请输入获得金钱:");
            double total=scanner.nextDouble();
            System.out.println("请输入利率:");
            double i=scanner.nextDouble();
            System.out.println("存入时间:");
            double n=scanner.nextDouble();
            yangLaoJin(i,total,n);

        }
        if(choose==4){
            System.out.println("求存款时长\n");
            System.out.println("------------------------------\n");
            System.out.println("请输入你所存入的本金:\n");
            double P=scanner.nextDouble();
            System.out.println("------------------------------\n");
            System.out.println("请输入你所存的报酬率:\n");
            double i=scanner.nextDouble();
            System.out.println("------------------------------\n");
            System.out.println(" 到最后期望的金额:\n");
            double total=scanner.nextDouble();
            maiGuPiao(P,i,total);
        }
        if(choose==5)
        {
            System.out.println("求报酬率\n");
            System.out.println("------------------------------\n");
            System.out.println("请输入你所存入的本金:\n");
            double P=scanner.nextDouble();
            System.out.println("------------------------------\n");
            System.out.println(" 请输入你所存的存款时长:\n");
            double n=scanner.nextDouble();
            System.out.println("------------------------------\n");
            System.out.println(" 到最后期望的金额:\n");
            double total=scanner.nextDouble();
            bangZhaoTouZhi(P,n,total);
        }
        if(choose==6)
        {
            System.out.println("一定年份资金总额\n");
            System.out.println("------------------------------\n");
            System.out.println("请输入你所存入的本金:\n");
            double P=scanner.nextDouble();
            System.out.println("------------------------------\n");
            System.out.println("请输入你所存的报酬率:\n");
            double i=scanner.nextDouble();
            System.out.println("------------------------------\n");
            System.out.println("请输入你所存的存款时长:\n");
            double n=scanner.nextDouble();
            duoCiTouZhi(P,i,n);
        }
        if(choose==7)
        { 

             System.out.println("月等额本息还款计算\n");
             System.out.println("------------------------------\n");
             System.out.print("请输入你所贷款金额:\n");
             double total=scanner.nextDouble();
             System.out.println("------------------------------\n");
             System.out.println("请输入你所贷款的年利率:\n");
             double i=scanner.nextDouble();
             System.out.println("------------------------------\n");
             System.out.println("请输入你贷款的还款时长(月):\n");
             double m=scanner.nextDouble();
             daiKuan(total,i,m);

        }

    }
    private static void daiKuan(double total,double i,double m) {

        double n = m*12;
        double money = total*i*Math.pow((1.0+i),n)/(Math.pow(1.0+i,n)-1);
        System.out.println("你每月等额本息还款是:"+money);  

    }
    private static void duoCiTouZhi(double P,double i,double n) {
        double total=P*Math.pow(1+i,n);
        System.out.println("------------------------------\n");
        System.out.println("你所获得的总金额是:"+total); 

    }
    private static void maiGuPiao(double P,double i,double total) {
        i=i*100;
        double n=(72/i);
        System.out.println("------------------------------\n");
        System.out.println("通过复利的股票型存款,得到期望金额大概所需要的年份:\n"+n); 

    }
    private static void bangZhaoTouZhi(double P,double n,double total) {
        double base= (double) (((total-P)/P)/n);
        System.out.println("通过复利的股票型存款本金翻倍的报酬率为:"+base); 

    }
    private static void yangLaoJin(double i, double total,double n) {//n 时间       i 利率
        for(int j=1;j<=n;j++){
            i=(1+n)*i;
        }
        double money=total/i;
        System.out.println("需要本金:"+money);
    }

    private static void danLi(double P, double i,double n) {
        double G; 

        G=P+P*i*n;
        System.out.println("单利终值为:"+G);
    }

    private static void fuli(double N, double P, double i, double n) {
        for(int j=1;j<=n;j++){

            N=(1+i)*N;
        }
        double F;
        F=P*N;
        System.out.println("复利终值为:"+F);
    }

}
时间: 2024-10-08 05:00:59

复利计算器4.0 【java版】的相关文章

复利计算器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

复利计算器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(S

复利计算器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来创建窗口太复杂. 回顾布置的问题,并附上操