0330 复利程序c语言版转java版 会逐渐更进版
import java.util.Scanner; public class compounding { public static void main(String[] args) {
menu();
int m = scanner.nextInt();
switch(m)
{
case 1:
compound_calate(); break;
case 2:
single_calate();break;
} } private static void compound_calate() {//复利计算 while (true) {
System.out.println(""); menu1();
int n = scanner.nextInt();
if (n >= 0 && n <= 6) {
if (n == 0)
System.exit(0);
switch (n) {
case 1:
principal();
break;
case 2:
compound_final();
break;
case 3:
time();
break;
case 4:
annual_interest_rate();
break;
case 5:
equal_investment();
break;
case 6:
Average_repayment();
break; } } else {
System.out.println("输入超出范围,请重新输入:");
}
} } static Scanner scanner = new Scanner(System.in); static void menu()// 功能介绍函数
{
System.out.printf("\t\t|******************************************************|\n");
System.out.printf("\t\t| 利息计算系统 |\n");
System.out.printf("\t\t|******************************************************|\n");
System.out.printf("\t\t| 1: 复利计算 |\n");
System.out.printf("\t\t| 2: 单利计算 |\n");
System.out.printf("\t\t|******************************************************|\n");
System.out.printf("\t请选择<1~2>:");
} static void menu1()// 菜单
{
System.out.printf("\t\t|******************************************************|\n");
System.out.printf("\t\t| 1: 本金计算 |\n");
System.out.printf("\t\t| 2: 终值计算 |\n");
System.out.printf("\t\t| 3: 期数计算 |\n");
System.out.printf("\t\t| 4: 利率计算 |\n");
System.out.printf("\t\t| 5: 定期计算 |\n");
System.out.printf("\t\t| 6: 等额本息还款 |\n");
System.out.printf("\t\t|******************************************************|\n");
System.out.printf("请输入你要选择的功能(1~6):"); } static double principal_formula(double S, double i, int Year)// 本金计算公式
{
double P;
P = S/ Math.pow((1 + i ), Year);
return P;
} static void principal()// 计算本金
{
int Year;
double i,P,S;
System.out.printf("输入期待复利终值:");
S = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
System.out.printf("存入年限:");
Year = scanner.nextInt();
P = principal_formula(S, i, Year);
System.out.println("年复利终值为" + S + "需要本金为:" + P);
} static double compound_amount_formula(double P, double i, int Year)// 复利计算公式
{
double F;
F = P * Math.pow((1 + i ),Year);
return F;
} static void compound_final()// 计算复利终值
{
int Year;
double i, F, P;
System.out.printf("请输入本金:");
P = scanner.nextDouble();
System.out.printf("请输入年利率:");
i = scanner.nextDouble();
System.out.printf("请输入复利次数(年):");
Year = scanner.nextInt();
F = compound_amount_formula(P, i, Year);
System.out.println("复利终值:" + F);
} static double single_interest_formula(double P, int Year, double i)// 单利计算公式
{
double F;
F = P *(1+i*Year);
return F;
} static void single_calate()// 单利计算
{
int Year;
double i, F, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
System.out.printf("存入年限:");
Year = scanner.nextInt();
F = single_interest_formula(P, Year, i);
System.out.println("本息和为:" + F);
} static int years_formula(double F, double P, double i)// 根据复利终值求年份
{
int year;
year = (int) (Math.log(F / P) / Math.log(1 + i ));
return year;
} static void time()// 求年份
{
int Year;
double i, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
Year= years_formula(F, P, i);
System.out.println("从" + P + "到" + F + "需要" + Year+ "年");
} static double rate_formula(double F, double P, int Year)// 复利的利率计算公式
{
double rate;
rate = (Math.pow(F / P, 1.0 / Year) - 1);
return rate;
} static void annual_interest_rate()// 计算年利率
{
int Year;
double i, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
Year = scanner.nextInt();
i = rate_formula(F, P, Year);
System.out.println("从" + P + "到" + F + "需要" + i);
} static double equal_investment_years(double P, int Year, double i)// 按照年份等额投资计算公式
{
double final_value;
final_value = P * (Math.pow(1 + i, Year) - 1) / i;
return final_value;
} static double equal_investment_months(double P, int Year, double i)// 按照月份等额投资计算公式
{
double final_value;
final_value = P * 12 * (1 + i) * (Math.pow(1 + i, Year) - 1) / i;
return final_value;
} static void equal_investment()// 计算等额投资
{
int Year, n;
double i, F, P;
System.out.printf("\t\t1:按年投资\n\t\t2:按月投资\n");
System.out.printf("请选择你要的功能<1|2>:");
n = scanner.nextInt();
if (n == 1) {
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
Year = scanner.nextInt();
System.out.printf("年利率:");
i = scanner.nextDouble();
F = equal_investment_years(P, Year, i);
System.out.println(Year+ "年后的总产值:" + F); } else if (n == 2) {
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
Year = scanner.nextInt();
System.out.printf("月利率:");
i = scanner.nextDouble();
F = equal_investment_months(P, Year, i);
System.out.println(Year + "年后的总产值:" + F);
} else {
System.out.printf("输入有误!\n");
} } static double equal_repayment_formula(double F, int Year,double i)// 等额还款公式
{
double refund;
refund = F * i / (12 * (1 + i) * (Math.pow(1 + i, Year) - 1));
return refund;
} static void Average_repayment()// 等额还款
{
int Year;
double i, F, P;
System.out.printf("贷款金额:");
F = scanner.nextDouble();
System.out.printf("存入年限:");
Year = scanner.nextInt();
System.out.printf("年利率:");
i = scanner.nextDouble();
P = equal_repayment_formula(F, Year, i);
System.out.println("贷款" + F + "每月需要还款" + P);
} }
0330 复利程序c语言版转java版 会逐渐更进版的更多相关文章
- 复利程序(c语言)(张俊毅 周修文)
因为之前发烧一直没有了解这个 所以最近才补上 分数扣了就扣了 补上先 单元测试迟点更 #include<stdio.h> #include <math.h> #include ...
- 6月份最新语言排行:Java,Python我更看好谁?
文章首发于终端研发部,转载,请标明原文链接 今天的主题是:探讨一下6月份语言排行还有我的最新展望! 最近,编程语言排行榜前几天发布更新了,在最新的TIOBE编程语言排行榜中,Java依旧位居第一,但前 ...
- 复利计算--4.0 单元测试之JAVA版-软件工程
复利计算--4.0 单元测试-软件工程 前言:由于本人之前做的是C语言版的复利计算,所以为了更好地学习单元测试,于是将C语言版的复利计算修改为JAVA版的. 一.主要的功能需求细分: 1.本金为100 ...
- 20145316许心远《Java学习笔记(第8版)》课程总结
20145316许心远<Java学习笔记(第8版)>课程总结 每周读书笔记链接汇总 ▪ 第一周读书笔记 ▪ 第二周读书笔记 ▪ 第三周读书笔记 ▪ 第四周读书笔记 ▪ 第五周读书笔记 ▪ ...
- [置顶]
我的 Java 后端书架 (2016 年暖冬版)
转自: http://calvin1978.blogcn.com/articles/bookshelf16.html 我的 Java 后端书架 (2016 年暖冬版) 本书架主要针对 Java 后端 ...
- 阿里巴巴主导的“华山版《Java 开发手册》”简介
1."83行代码计划"项目介绍(转自github): 2018年9月22日,在2018杭州云栖大会上,召开<码出高效:Java 开发手册>新书发布会,并宣布将图书所有收 ...
- 乐字节Java学习01-Java语言概述,Java发展前景,Java的特点
从这篇文章开始,小乐准备写一整系列的Java学习文章,一步一步带您进入Java的神奇世界! 这是第一篇:Java语言概述以及Java的发展前景 1.SUN公司介绍 SUN公司全称是Stanford U ...
- Java入门 - 语言基础 - 01.Java简介
原文地址:http://www.work100.net/training/java-intro.html 更多教程:光束云 - 免费课程 Java简介 序号 文内章节 视频 1 概述 2 主要特性 3 ...
- 《深入理解Java虚拟机》第2版挖的坑终于在第3版中被R大填平了
这是why技术的第34篇原创文章 本周还是在家办公的一周,上面的图就是我在家的工位,和上周<Dubbo Cluster集群那点你不知道的事>这篇文章里面的第一张图片比起来,升级了显示器支撑 ...
随机推荐
- terminal(终端),shell,tty,console(控制台)区别
原文地址 stackexchange:What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'con ...
- jQuery EasyUI---validatebox 校验规则扩展
EasyUI 的 validatebox 插件, 验证规则相对比较单一也比较少,如下. rules: { email:{ validator: function(value){ return ...? ...
- 【Java 进阶篇】【第二课】异常处理
概念 异常处理的存在是为了: 允许程序员跳过无法处理的问题,继续开发后续的工作,或根据异常做出更加聪明的处理方式. Java中存在一类对象叫“异常对象”. 当异常情况发生时,就会暗战预先的设定,抛 ...
- php--validate表单验证
validate表单验证扩展规则 添加自定义检验(验证class) 获取html加入 class <input id="D_NUMBER" name="D_NUMB ...
- VS2015 多项目源码共享链接
Eclipse有这个功能,在一个项目中加入另一个项目文件夹的引用,源码包含过来,这样不必copy一份代码,只需要维护一份源代码.一直想在VS中找到这个功能,目前项目需要,终于google到了. htt ...
- 自己用的一个ASP.Net MVC分页拿出来分享下(转)
实例懒得做.切几个图把代码发上要用的自己搞啦~ 下面是一个helper类. namespace System.Web.Mvc { public enum BarStyle { yahoo, digg, ...
- 如何更改Magento的Base URL
Magento的Base URL是用于访问商店页面的URL,您也可以为单独一个store view设置一个Base Url.在改这项值之前请确保您的域名已经指向了网站所在服务器的IP,DNS解析完成后 ...
- ecshop transport.js 和 jquery 冲突解决办法
您提供一个简单的解决transport.js 和 jquery 方法: 在 page_header.lbi 库文件中加入如下代码,注意操作顺序: 1.先导入transport.js 文件 {inse ...
- OO之美4(好代码与坏代码)
前言:写代码不仅仅要做到能与机器交流,更要做到能和人交流 编码规范:编码规范就是最佳实践,是前辈在编码这件事上的积累和总结,是智慧的延续和工业的实践,如下: ⑴命名规范 ⑵避免行数过多的方法 ⑶代码缩 ...
- zero1--hibernate注解02