算复利条件下等额还款金额
2016-03-19 17:40
232 查看
import java.util.Scanner; public class exercise { public static void main(String[] args) { int select; do { System.out.println("请问您想要进行单利计算还是复利计算:1.单利 2.复利"); Scanner keyin0 = new Scanner(System.in); select = keyin0.nextInt(); } while (select != 1 && select != 2); System.out.println("请输入您想要存储的金额数量:"); Scanner keyin1 = new Scanner(System.in); double originalMoney = keyin1.nextDouble(); System.out.println("请输入您想要存储金额的时间(年):"); Scanner keyin2 = new Scanner(System.in); int year = keyin2.nextInt(); System.out.println("请输入您想要设计的年利率:"); Scanner keyin3 = new Scanner(System.in); double rate = keyin3.nextDouble(); double sumValue = originalMoney; if (select == 1) { double singleValue = originalMoney * (1 + rate * year); System.out.println("存入第" + year + "年后的存款总额为:" + singleValue); do { System.out.println("请问您想要计算本金问题吗:1.需要 2.不需要"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); if (select == 1) { System.out.println("请输入您想要筹到的金额:"); singleValue = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要存储金额的时间(年):"); year = new Scanner(System.in).nextInt(); System.out.println("请输入您想要设计的年利率:"); rate = new Scanner(System.in).nextDouble(); originalMoney = singleValue / (1 + rate * year); System.out.println("需要本金" + originalMoney + "元"); } } else { for (int i = 1; i <= year; i++) { sumValue = (1 + rate) * sumValue; } System.out.println("存入第" + year + "年后的存款总额为:" + sumValue); do { System.out.println("请问您想要计算本金问题吗:1.需要 2.不需要"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); if (select == 1) { System.out.println("请输入您想要筹到的金额:"); sumValue = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要存储金额的时间(年):"); year = new Scanner(System.in).nextInt(); System.out.println("请输入您想要设计的年利率:"); rate = new Scanner(System.in).nextDouble(); for (int i = 1; i <= year; i++) { sumValue = sumValue / (1 + rate); } originalMoney = sumValue; System.out.println("需要本金" + originalMoney + "元"); } do { System.out.println("请问您想要计算时间问题吗:1.需要 2.不需要"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); if (select == 1) { System.out.println("请输入您想要存储的金额数量:"); originalMoney = new Scanner(System.in).nextDouble(); System.out.println("请输入到期后您想要获取的金额:"); sumValue = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要设计的年利率:"); rate = new Scanner(System.in).nextDouble(); year = 1; for (; sumValue > originalMoney; year++) { originalMoney = originalMoney * (1 + rate); } year--; System.out.println("需要" + year + "年时间"); } do { System.out.println("请问您想要计算利率问题吗:1.需要 2.不需要"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); //}while (select != 1 && select != 2); if (select == 1) { System.out.println("请输入您想要存储的金额数量:"); originalMoney = new Scanner(System.in).nextDouble(); System.out.println("请输入到期后您想要获取的金额:"); sumValue = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要存储金额的时间(年):"); year = new Scanner(System.in).nextInt(); rate = 0; for (; Math.log(sumValue / originalMoney) / Math.log(rate + 1) > year; rate = rate + 0.0001) { continue; } System.out.println("年利率应为:" + rate); } do { System.out.println("请问您想要计算每年或者每月拿出固定金额投资吗:1.需要 2.不需要"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); if(select==1){ do { System.out.println("请问您想要投资额是以月计算还是以年计算:1.月 2.年"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); if(select==1){ System.out.println("请问您想每个月定期投资多少:"); originalMoney = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要设计的月利率:"); double rateMonth = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要存储金额的时间(月):"); int month = new Scanner(System.in).nextInt(); sumValue=0; for (int i = 1; i <= month; i++) { sumValue = (1 + rateMonth) * (sumValue+originalMoney); } System.out.println(""+month+"个月后资产总值将变为:"+sumValue); } if(select==2){ System.out.println("请问您想每年定期投资多少:"); originalMoney = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要设计的年利率:"); rate = new Scanner(System.in).nextDouble(); System.out.println("请输入您想要存储金额的时间(年):"); year = new Scanner(System.in).nextInt(); sumValue=0; for (int i = 1; i <=year; i++) { sumValue = (1 + rate) * (sumValue+originalMoney); } System.out.println(""+year+"年后资产总值将变为:"+sumValue); } } do { System.out.println("请问您想要计算贷款问题吗:1.需要 2.不需要"); select = new Scanner(System.in).nextInt(); } while (select != 1 && select != 2); if(select==1) { System.out.print("请输入贷款金额:"); originalMoney=new Scanner(System.in).nextDouble(); System.out.print("请输入贷款的时间期限(年):"); year=new Scanner(System.in).nextInt(); System.out.print("请输入贷款的年利率:"); rate=new Scanner(System.in).nextDouble(); sumValue=originalMoney; for (int i = 1; i <= year; i++) { sumValue = (1 + rate) * sumValue; } double returnPay=sumValue/(year*12); System.out.println("每个月应该偿还"+returnPay); } } } }
![](http://images2015.cnblogs.com/blog/807977/201603/807977-20160319173810678-71681709.png)
相关文章推荐
- 求一个整数的平方和立方
- ios测试简介
- 详解Unity 4.6新UI的布局
- 英语歌曲:Cry on My Shoulder(在我肩上哭泣)
- C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
- 内存管理范围和@property
- 对代码的分析
- 逆光
- solr5.3+tomcat-7.0.65+IKAnalyzer分词
- 英语歌曲:Can't Stop Love
- 英语歌曲:HOTEL CALIFORNIA 加州旅馆
- JSON数据查询方法
- Visual Studio安装及单元测试
- 进度表博客二
- [Java语言] Sort Colors 颜色排序
- 网易2016研发工程师编程题 扫描透镜
- 英语歌曲:I Love You -Stewart Mac
- 对C++基础知识的总结(主要针对笔试面试)
- HDFS源码分析心跳汇报之DataNode注册
- linux制作补丁包和打补丁——patch命令简记