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);
}
}

  演算结果:

Compound Interest Calculator3.0的更多相关文章

  1. Compound Interest Calculator3.0续

    1.你写的程序能让客户随意操作吗?误输入数据.不小心做了非常规的操作程序是什么反应? 2.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额) ...

  2. Compound Interest Calculator4.0

    Compound Interest Calculator4.0 1.团队协作准备:每个同学在github上完成FORK,COMMENT(学号后三位+姓名),PR,MERGE的过程. 2.你的RP由你的 ...

  3. Compound Interest Calculator2.0

    Compound Interest Calculator2.0 1.如果按照单利计算,本息又是多少呢? 2.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多 ...

  4. Compound Interest Calculator1.0

    Compound Interest Calculator1.0 客户说:帮我开发一个复利计算软件. 计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按 ...

  5. <更新日期03-31-2016> 复利计算5.0 <已改进>

    作业要求: 1.客户说:帮我开发一个复利计算软件. 完成复利公式计算程序,并成功PUSH到github上. 客户提出: 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养 ...

  6. DL4J (DeepLearning for java)

    http://deeplearning4j.org/lstm.html A Beginner’s Guide to Recurrent Networks and LSTMs Contents Feed ...

  7. 数学常数e的含义

    转载:   http://www.ruanyifeng.com/blog/2011/07/mathematical_constant_e.html 作者: 阮一峰 日期: 2011年7月 9日 1. ...

  8. linux下的文本处理命令sed&awk&grep

    Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破 ...

  9. C程序练习

    1.编程从键盘任意输入两个时间(例如4时55分和1时25分),计算并输出这两个时间之间的间隔.要求不输出时间差的负号. #include<stdio.h> int main() { int ...

随机推荐

  1. 数据库SQL语句练习题10--18

    10.查询Score表中的最高分的学生学号和课程号.(子查询或者排序) select t.sno,t.cno from SCORE t where degree = (select max(degre ...

  2. vim 跳到指定行

    在编辑模式下输入 ngg 或者 nG n为指定的行数(如25) 25gg或者25G 跳转到第25行. 在命令模式下输入行号n : n 如果想打开文件即跳转 vim +n FileName 查看当然光标 ...

  3. [HDOJ5935]Car(精度,数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5935 题意:有个老司机在开车, 开车过程中车的速度是不减的. 交警记录了这个老司机在nn个时间点的位置 ...

  4. ALV详解:OO ALV

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. 请求webservice接口的某方法数据

    NSURL *url = [NSURL URLWithString:@"http://xxx.xxx.com/xxx/xxxxWS?wsdl"]; NSString *soapMs ...

  6. SQL——存储过程实例 循环

    --循环 create or replace procedure p_xunhuan(input in number,output out number) is ); begin ; ..input ...

  7. onclick事件分析

     有些时候,我们想实现这样的一种效果:      <a href="imgs/2.jpg" title="A fireworks display" onc ...

  8. Codeforces Round #377 (Div. 2) D. Exams 二分

    D. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

  9. gitHub-初识

    如何生成github所使用的ssh key https://help.github.com/articles/generating-ssh-keys/ 多个github帐号的SSH key切换 htt ...

  10. shell script的连接符是逗号,不是英文的句号

    举个例子: gawk 'BEGIN{ var[ var[ var[ var[ asort(var,test) for(i in test) print ] }' 这时候敲回车就能输出 Index: - ...