1.你写的程序能让客户随意操作吗?误输入数据、不小心做了非常规的操作程序是什么反应?

2.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)

import java.util.Scanner;

public class Calculator4 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
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计算月等额还款金额,请按6"
+ "\n请输入:");
int key1 = scanner.nextInt();
if (key1 == 1) {
Calculator4.DanliandFuli(); // 计算单利和复利
break;
} else if (key1 == 2) {
Calculator4.Principal(); // 计算本金
break;
} else if (key1 == 3) {
Calculator4.Stock(); // 股票投资(计算时间)
break;
} else if (key1 == 4) {
Calculator4.Rate(); // 计算利率
break;
} else if (key1 == 5) {
Calculator4.Assets(); // 计算资产总值
break;
}else if (key1 ==6 ) {
Calculator4.Repayment(); // 计算资产总值
break;
}else {
System.out.println("\n输入错误!请重新输入!");
}
}
} private static void Repayment() {
// TODO Auto-generated method stub
double sum,i;
int month;
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();
i=rate/12;//k为月利率
month=years*12;//month为贷款月数
sum=money*i*Math.pow(1+i, month)/(Math.pow(1+i,month)-1);
System.out.println("每月等额还款金额为:"+sum);
} 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

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

  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. 可扩展多线程异步Socket服务器框架EMTASS 2.0 续

    转载自Csdn:http://blog.csdn.net/hulihui/article/details/3158613 (原创文章,转载请注明来源:http://blog.csdn.net/huli ...

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

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

  7. DL4J (DeepLearning for java)

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

  8. 数学常数e的含义

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

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

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

随机推荐

  1. BZOJ 3550 Vacation(最小费用最大流)

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3550 题意:给出3×n个数字,从中选出一些数字,要求每连续的n个数字中选出的数字个 ...

  2. FZU 2143 Board Game

    Board Game Accept: 95    Submit: 246Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Descri ...

  3. python_way ,day5 模块,模块3 ,双层装饰器,字符串格式化,生成器,递归,模块倒入,第三方模块倒入,序列化反序列化,日志处理

    python_way.day5 1.模块3 time,datetime, json,pickle 2.双层装饰器 3.字符串格式化 4.生成器 5.递归 6.模块倒入 7.第三方模块倒入 8.序列化反 ...

  4. python_way ,day1 编译安装python3、基础及流程控制

    本节内容: 1,Python介绍发展史 2,安装 3,Hello World 4,程序 5,变量,字符编码 6,用户输入 7,模块初识 一.python介绍 python的创始人为吉多·范罗苏姆(Gu ...

  5. GridSplitter的一个简单例子

    GridSplitter可以在Grid布局中根据鼠标发生移动(可拖拽的分隔栏) XAML: <Window x:Class="Layout.MainWindow" xmlns ...

  6. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

  7. 大学生学习编程(PHP)

    在v2ex上看到一大三的求职实习,然后有人给出了建议,个人觉得也挺好,做个记录./  原帖地址 @ARjson问: 大三的学生党,求实习岗位,现居北京.后端PHP一年半开发经验,熟悉speedphp, ...

  8. vector的插入、lower_bound、upper_bound、equal_range实例

    对于这几个函数的一些实例以便于理解: #include <cstdlib> #include <cstdio> #include <cstring> #includ ...

  9. winform打开唯一窗体、构造函数传值

    制作登入窗体: 制作一个登陆窗体,实现点击按钮关闭此窗体并打开另一个窗体 直接在按钮点击事件中,实例化一个想要打开的窗体 使用show方法打开,并把登陆窗体的visible属性改为false Form ...

  10. JS trim()方法使用

    JS trim()方法使用上有浏览器限制: 1.直接使用 string.trim() 浏览器版本限制:JavaScript Version 1.8  2.间接使用<即自己使用正则构造类trim的 ...