import java.util.Scanner;

 public class Compound_int {

     public static void main(String[] args) {
tip();
while (true) {
menu();
int n = scanner.nextInt();
if (n >= 0 && n <= 7) {
if (n == 0)
break;
switch (n) {
case 1:
benjin();
break;
case 2:
fuli();
break;
case 3:
danli();
break;
case 4:
years();
break;
case 5:
annual_int_rate();
break;
case 6:
YM_Equal_cast_final();
break;
case 7:
Average_capital_plus_interest();
break;
case 0:
n = 0;
break; }
} else {
System.out.println("输入超出范围,请重新输入:"); }
}
} static Scanner scanner = new Scanner(System.in); static void tip()// 计算公式和一些变量的介绍
{
System.out.printf("复利计算软件\n");
System.out.printf(" 复利计算公式:F=P*pow((1+i/m),N*m)\n");
System.out.printf(" 单利计算公式:F=P+P*N*i\n");
System.out.printf(" 等额投资公式:F=P*12*(1+i)*(pow(1+i,N)-1)/i\n");
System.out.printf("\tF:复利终值|年金终值\n");
System.out.printf("\tP:本金\n");
System.out.printf("\ti:利率\n");
System.out.printf("\tN:利率获取时间的整数倍\n");
System.out.printf("\tm:年复利次数(一年当中的滚利次数)\n");
} static void menu()// 菜单
{
System.out.printf("\t\t|-----------------------------------|\n");
System.out.printf("\t\t| welcome |\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| 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| 7:等额还款 |\n");
System.out.printf("\t\t| 0:结束 |\n");
System.out.printf("\t\t|-----------------------------------|\n");
System.out.printf("请输入你要选择的功能(0~7):"); } static double capital_formula(double F, double i, int N, int m)// 本金计算公式
{
double P;
P = F / Math.pow((1 + i / m), N * m);
return P;
} static void benjin()// 计算本金
{
int N, m;
double i, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
System.out.printf("存入年限:");
N = scanner.nextInt();
System.out.printf("年复利次数:");
m = scanner.nextInt();
P = capital_formula(F, i, N, m);
System.out.println("年复利终值为" + F + "需要本金为:" + P);
} static double compound_amount_formla(double P, double i, int N, int m)// 复利计算公式
{
double F;
F = P * Math.pow((1 + i / m), N * m);
return F;
} static void fuli()// 计算复利终值
{
int N, m;
double i, F, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
System.out.printf("存入年限:");
N = scanner.nextInt();
System.out.printf("年复利次数:");
m = scanner.nextInt();
F = compound_amount_formla(P, i, N, m);
System.out.println("复利终值:" + F);
} static double simple_interest_formula(double P, int N, double i)// 单利计算公式
{
double F;
F = P + P * N * i;
return F;
} static void danli()// 单利计算
{
int N;
double i, F, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
System.out.printf("存入年限:");
N = scanner.nextInt();
F = simple_interest_formula(P, N, i);
System.out.println("本息和为:" + F);
} static int years_formula(double F, double P, double i, int m)// 根据复利终值求年份
{
int year;
year = (int) (Math.log(F / P) / Math.log(1 + i / m) / m);
return year;
} static void years()// 求年份
{
int N, m;
double i, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
i = scanner.nextDouble();
System.out.printf("年复利次数:");
m = scanner.nextInt();
N = years_formula(F, P, i, m);
System.out.println("从" + P + "到" + F + "需要" + N + "年");
} static double rate_formula(int m, double F, double P, int N)// 复利的利率计算公式
{
double rate;
rate = m * (Math.pow(F / P, 1.0 / (N * m)) - 1);
return rate;
} static void annual_int_rate()// 计算年利率
{
int N, m;
double i, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
N = scanner.nextInt();
System.out.printf("年复利次数:");
m = scanner.nextInt();
i = rate_formula(m, F, P, N);
System.out.println("从" + P + "到" + F + "需要" + i);
} static double according_year_formula(double P, int N, double i)// 按照年份等额投资计算公式
{
double final_value;
final_value = P * (Math.pow(1 + i, N) - 1) / i;
return final_value;
} static double according_month_formula(double P, int N, double i)// 按照月份等额投资计算公式
{
double final_value;
final_value = P * 12 * (1 + i) * (Math.pow(1 + i, N) - 1) / i;
return final_value;
} static void YM_Equal_cast_final()// 计算等额投资
{
int N, 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("存入年限:");
N = scanner.nextInt();
System.out.printf("年利率:");
i = scanner.nextDouble();
F = according_year_formula(P, N, i);
System.out.println(N + "年后的总产值:" + F); } else if (n == 2) {
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
N = scanner.nextInt();
System.out.printf("年利率:");
i = scanner.nextDouble();
F = according_month_formula(P, N, i);
System.out.println(N + "年后的总产值:" + F);
} else {
System.out.printf("输入有误!\n");
} } static double Average_capital_plus_interest_formula(double F, int N,double i)// 等额还款公式
{
double refund;
refund = F * i / (12 * (1 + i) * (Math.pow(1 + i, N) - 1));
return refund;
} static void Average_capital_plus_interest()// 等额还款
{
int N;
double i, F, P;
System.out.printf("贷款金额:");
F = scanner.nextDouble();
System.out.printf("存入年限:");
N = scanner.nextInt();
System.out.printf("年利率:");
i = scanner.nextDouble();
P = Average_capital_plus_interest_formula(F, N, i);
System.out.println("贷款" + F + "每月需要还款" + P);
} }

复利计算C转java版的更多相关文章

  1. 复利计算--4.0 单元测试之JAVA版-软件工程

    复利计算--4.0 单元测试-软件工程 前言:由于本人之前做的是C语言版的复利计算,所以为了更好地学习单元测试,于是将C语言版的复利计算修改为JAVA版的. 一.主要的功能需求细分: 1.本金为100 ...

  2. 复利计算- 结对2.0--复利计算WEB升级版

    客户在大家的引导下,有了更多的想法: 这个数据我经常会填.....帮我预先填上呗?...... 把界面做得简单漂亮好操作一点呗? 能不能帮我转成个APP,我装到手机上就更方便了? 我觉得这个很有用,很 ...

  3. 0330 复利程序c语言版转java版 会逐渐更进版

    import java.util.Scanner; public class compounding { public static void main(String[] args) { menu() ...

  4. 复利计算器4.0 【java版】

    import java.util.Scanner; public class FuLi { public static void main(String[] args) { ; Scanner sca ...

  5. 简单复利计算java板

    一.要求: 1.客户说:帮我开发一个复利计算软件. 2如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利 ...

  6. 复利计算5.0(改成Java版本)与 单元测试

    //由于C语言版本不方便单元测试,所以改成了java版本,部分代码如下:import java.util.Scanner; public class FuLi{ public static void ...

  7. 复利计算--web版--总结--软件工程

    复利计算项目 估计用时 实际用时 时间(小时) 5.5小时  6.5小时 总共代码行 500  550 功能包含 单利/复利计算,本金计算,求投资年限,求投资项目利率估计 (计算利息和,计算时间,计算 ...

  8. 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~

    结对项目:Web复利计算 搭档博客地址:25江志彬  http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...

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

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

随机推荐

  1. Docker Toolbox下配置国内镜像源-阿里云加速器

    Docker machine安装 Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox. Digital ...

  2. 嵌入式nand flash详解

    一.s3c2440启动后会将nand flash的前4K程序复制到内部的sram中,这个过程是硬件自动完成的,但是如果我们的程序远远大于4K,这个时候就需要将程序从flash拷贝到内存中来运行了. 二 ...

  3. Fiddler抓取手机APP数据包

    第一步:下载神器Fiddler,下载链接: http://w.x.baidu.com/alading/anquan_soft_down_ub/10963 下载完成之后,傻瓜式的安装一下了! 第二步:设 ...

  4. golang基础--Gocurrency并发

    Go并发特点 goroutine只是由官方实现的超级"线程池"而已,每个实例4-5kb的栈内存占用和用于实现机制而大幅减少的创建和销毁开销. 并发不是并行(多CPU): Concu ...

  5. 20155203 实验四《 Android程序设计》实验报告

    一.实验内容 实验项目一:Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十 ...

  6. 20155224 2016-2017-2 《Java程序设计》第4周学习总结

    20155224 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 第六章主要学习了子类与父类的继承. 先定义一个程序,另一程序可继承他 如: publ ...

  7. install netcdf

    https://gist.github.com/perrette/cd815d03830b53e24c82

  8. day 1类 对象 属性 方法

    1. 解决吃啤酒鸭的问题 第一种方式(面向过程): 1)养鸭子 2)鸭子长成 3)杀 4)作料 5)烹饪 6)吃 7)卒 第二种方式(面向对象): 1)找个卖啤酒鸭的人 2)给钱 交易 3)吃 4)胖 ...

  9. jQuery Validate (登录页面相关验证)

    $(function() { var submit = false; var superHtml = []; /** * 匹配企业帐号,以字母开头,长度在6-20之间,只能包含字符.数字和下划线. * ...

  10. Android开发笔记——ListView模块、缓存及性能

    ListView是Android开发中最常用的组件之一.本文将重点说明如何正确使用ListView,以及使用过程中可能遇到的问题. ListView开发模块 图片缓存 可能遇到的问题 一.ListVi ...