Compound Interest Calculator3.0

1.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?

2.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?

3.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?

import java.util.Scanner;

public class Calculator3 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner scanner = new Scanner(System.in);
		int key=0;
		while (key == 0 || key == 1 || key == 2 || key==3 || key==4 || key==5) {
			System.out.println("欢迎使用" + "\n计算单利和复利终值,请按1" + "\n计算本金,请按2"
					+ "\n股票投资,请按3"
					+ "\n计算利率,请按4"
					+ "\n计算资产总值,请按5"
					+ "\n请输入:");
			int key1 = scanner.nextInt();
			if (key1 == 1) {
				Calculator3.DanliandFuli(); // 计算单利和复利
				break;
			} else if (key1 == 2) {
				Calculator3.Principal(); // 计算本金
				break;
			} else if (key1 == 3) {
				Calculator3.Stock(); // 股票投资(计算时间)
				break;
			} else if (key1 == 4) {
				Calculator3.Rate();  // 计算利率
				break;
			} else if (key1 == 5) {
				Calculator3.Assets();  // 计算资产总值
				break;
			}else {
				System.out.println("\n输入错误!!!");
			}
		}
	}

	private static void DanliandFuli() {
		// TODO 自动生成的方法存根
		double N = 1, sum;
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入本金:");
		double money = scanner.nextDouble();
		System.out.println("请输入存钱年数:");
		int years = scanner.nextInt();
		System.out.println("请输入年利率:");
		double rate = scanner.nextDouble();
        sum=money+money*years*rate;
        System.out.println("单利计算值为:" + sum);
        sum=0;
		for (int i = 1; i <= years; i++) {
			N = (1 + rate) * N;
		}
		sum = N * money;
		System.out.println("复利计算值为:" + sum);
	}

	private static void Principal() {
		// TODO 自动生成的方法存根
		double N = 1, money;
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入复利终值:");
		double sum = scanner.nextDouble();
		System.out.println("请输入存钱年数:");
		int years = scanner.nextInt();
		System.out.println("请输入年利率:");
		double rate = scanner.nextDouble();
		for (int i = 1; i <= years; i++) {
			N = (1 + rate) * N;
		}
		money = sum / N;
		System.out.println("应投入的本金为:" + money);
	}

	private static void Stock() {
		// TODO 自动生成的方法存根
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入本金:");
		double money = scanner.nextDouble();
		System.out.println("请输入复利终值:");
		int sum = scanner.nextInt();
		System.out.println("请输入年利率:");
		double rate = scanner.nextDouble();
		int years=(int) ((Math.log(sum)/Math.log(1+rate))-(Math.log(money)/Math.log(1+rate)));
		System.out.println("所需年限为:" + years);
	}

	private static void Rate() {
		// TODO 自动生成的方法存根
		double rate;
		Scanner scanner = new Scanner(System.in);
        System.out.print("请输入本金:");
        double money = scanner.nextDouble();
        System.out.print("请输入最后得到资产总值:");
        double sum = scanner.nextDouble();
        System.out.print("请输入存钱年数:");
        int years = scanner.nextInt();
        rate=sum/(money*years);
        System.out.println("利率为:" + rate);
	}

	private static void Assets() {
		// TODO 自动生成的方法存根
		double sum;
		Scanner scanner = new Scanner(System.in);
        System.out.print("请输入本金:");
        double money = scanner.nextDouble();
        System.out.print("请输入利率:");
        double rate = scanner.nextDouble();
        System.out.print("请输入存钱年数:");
        int years = scanner.nextInt();
        sum=money*rate*years;
        System.out.println("若投资本金每年固定不变,最后得到的资产总值为:" + sum);
        sum=0;
        for(int i=1;i<=years;i++){
            sum=money*rate*1;
            money=sum;
        }
        System.out.println("若连本带利投资,最后得到的资产总值为:" + sum);
	}
}

  演算结果:

时间: 2024-12-28 10:28:11

Compound Interest Calculator3.0的相关文章

Compound Interest Calculator1.0

客户说:帮我开发一个复利计算软件. 计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 演算结果:

linux下的文本处理命令sed&amp;awk&amp;grep

Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破坏性.他不会修改文件,除非用shell重定向来保存输出结果.缺省情况下,所以的输出都被打印到屏幕上.sed 编辑器在shell脚本中非常有用,因为在shell脚本中使用像vi或emacs这类交互式编辑器,需求脚本用户精通该编辑器,而且还会导致用户对打开 的 文件做出不必的修改.如果需要执行多项编辑任

斐波那契数列算法分析

背景: 假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去.每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子? 在一月底,最初的一对兔子交配,但是还只有1对兔子:在二月底,雌兔产下一对兔子,共有2对兔子:在三月底,最老的雌兔产下第二对兔子,共有3对兔子:在四月底,最老的雌兔产下第三对兔子,两个月前生的雌兔产下一对兔子,共有5对兔子:……如此这般计算下去,兔子对数分

《数据结构与算法分析——c语言描述》读后笔记

数据是稳定的(即不允许插入操作和删除操作) 在任意时刻,算法都能对它已经读入的数据给出子序列问题的答案,具有这种特性的算法叫做联机算法(online algorithm) 分治(divide-and-conquer)策略:其想法是把问题分成两个大致相等的子问题,然后递归地对他们求解,这是"分"部分."治"阶段将两个子问题的解合并到一起并可能再做些少量的附加工作,最后得到整个问题的解. 当编写递归例程的时候,关键是要牢记递归地四条基本法则: 基准情形. 某些基准情形,

Python 学习笔记 5

5.1变量和表达式 例子5.1复利计算机(Simple Compound -Interest Calculation) 按照数字(int)类型输出: <span style="font-size:18px;">import string principal=1000 #Initial amount rate =0.05 #Interest rate numyears=5 #Number of years year =1 while year <= numyears:

linux 之awk命令详解

awk是一种程序语言,对文档资料的处理具有很强的功能.awk名称是由它三个最初设计者的姓氏的第一个字母而命名的: Alfred V. Aho.Peter J. We i n b e rg e r.Brian W. Kernighan. awk 最初在1 9 7 7年完成.1985年发表了一个新版本的awk,它的功能比旧版本增强了不少.awk能够用很短的程序对文档里的资料做修改.比较.提取.打印等处理.如 果使用C 或Pascal等语言编写程序完成上述的任务会十分不方便而且很花费时间,所写的程序也

计算利息,for使用范例

/*利息计算程序,for使用范例*/#include<stdio.h>#include<stdlib.h>#include<math.h>int main(void){ double amount;/*存款总额*/ double principal=1000.0;/*初始本金*/ double rate=0.05;/*年利率*/ int year;/*储蓄年份*/ printf("\nWelcome.\n" "Calculate the c

利率计算v4.0--测试--软件工程

利率计算v4.0--测试 package Test; import Model.Interest; import Service.CompoundInterestService; import Service.OrInterestService; import Service.PrincipalService; import Service.SingleInterestService; import org.junit.Test; /** * Created by pc on 2016/3/28

DL4J (DeepLearning for java)

http://deeplearning4j.org/lstm.html A Beginner’s Guide to Recurrent Networks and LSTMs Contents Feedforward Networks Recurrent Networks Backpropagation Through Time Vanishing and Exploding Gradients Long Short-Term Memory Units (LSTMs) Capturing Dive