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. tomcat和mysql安装配置总结

    我安装的tomcat和mysql都是解压缩版的.安装和配置tomcat倒没花费我多少时间,主要是mysql,几乎花费了我一天的时间. Tomcat安装总结: 首先将下载好的tomcat压缩包解压放在其 ...

  2. Spring注解【非单例】

    花了至少一整天的时间解决了这个问题,必须记录这个纠结的过程,问题不可怕,思路很绕弯. 为了能说清楚自己的问题,我都用例子来模拟. 我有一个类MyThread是这样的: @Service public ...

  3. Populate A List Item With Record Group In Oracle Forms Using Populate_List And Create_Group_From_Query Command

    Example is given below to Populate a List Item in Oracle Forms using Create_Group_From_Query , Popul ...

  4. LINUX RPM卸载

    1. which httpd /usr/bin/httpd 2.rpm -q -f /usr/bin/httpd name 3.rpm -e name 如果有依赖: rpm -e --allmatch ...

  5. Logical Databases逻辑数据库

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

  6. python_way day19 HTML-day5 (form表单验证,CSRF,cookie,session,缓存)

    python-way day19 1. dJango的form表单验证 2.CSRF 跨站请求伪造 3.cookie,session 4.缓存 一,django表单验证功能 1.django验证基础: ...

  7. Codeforces Round #281 (Div. 2) C. Vasya and Basketball 二分

    C. Vasya and Basketball time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  8. iOS - Swift NSEnumerator 迭代器

    前言 public class NSEnumerator : NSObject, NSFastEnumeration 1.迭代器 let arr:NSArray = ["bei", ...

  9. org.apache.http.client.CircularRedirectException: Circular redirect to "http://xxx"问题解决

      org.apache.http.client.CircularRedirectException: Circular redirect to "http://xxx"问题解决 ...

  10. Class.asSubclass浅谈

    这是java.lang.Class中的一个方法,作用是将调用这个方法的class对象转换成由clazz参数所表示的class对象的某个子类.举例来说, 上面的代码将strList.getClass() ...