0330复利计算java版
package compounding;
import java.util.Scanner;
public class compounding1_1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//tip();
while (true) {
menu();
System.out.printf("请输入你要选择的功能(0~7):");
int n = scanner.nextInt();
if (n >= && n <= ) {
if (n == )
break;
switch (n) {
case :
Year_end_value();
break;
case :
principal();
break;
case :
danli();
break;
case :
years();
break;
case :
APY();
break;
case :
Investment();
break;
case :
Repayment();
break;
case :
n = ;
break;
}
}
}
}
static Scanner scanner = new Scanner(System.in);
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");
}
static void principal()// 计算本金
{
int year, n;
double q, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("年利率:");
q = scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
System.out.printf("年复利次数:");
n = scanner.nextInt();
//P = capital_formula(F, i, N, m);
P = F / Math.pow(( + q / n), year * n);
System.out.println("年复利终值为" + F + "需要本金为:" + P);
}
static void Year_end_value()// 计算复利终值
{
int year, n;
double q, F, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
q= scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
System.out.printf("年复利次数:");
n = scanner.nextInt();
F = P * Math.pow(( + q / n), year * n);
System.out.println("复利终值:" + F);
}
static void danli()// 单利计算
{
int year;
double q, F, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
q = scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
F = P + P * year * q;
System.out.println("本息和为:" + F);
}
static void years()// 求年份
{
int year, n;
double q, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("年利率:");
q = scanner.nextDouble();
System.out.printf("年复利次数:");
n = scanner.nextInt();
year = (int) (Math.log(F / P) / Math.log( + q / n) / n);
System.out.println("从" + P + "到" + F + "需要" + year + "年");
}
static void APY()// 计算年利率
{
int year, n;
double q, F, P;
System.out.printf("复利终值:");
F = scanner.nextDouble();
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
System.out.printf("年复利次数:");
n = scanner.nextInt();
q = n * (Math.pow(F / P, 1.0 / (year * n)) - );
System.out.println("从" + P + "到" + F + "需要" + q);
}
static void Investment()// 计算等额投资
{
int n;
System.out.printf("\t\t1:按年投资\n\t\t2:按月投资\n");
System.out.printf("请选择你要的功能<1|2>:");
n = scanner.nextInt();
if (n == ) {
Investmentyear();
} else if (n == ) {
Investmentmonth();
} else {
System.out.printf("输入有误!\n");
}
}
static void Investmentyear(){
int year;
double q, final_value, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
System.out.printf("年利率:");
q = scanner.nextDouble();
final_value = P * (Math.pow( + q, year) - ) /q;
System.out.println(year + "年后的总产值:" + final_value);
}
static void Investmentmonth(){
int year;
double q, final_value, P;
System.out.printf("存入本金:");
P = scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
System.out.printf("年利率:");
q = scanner.nextDouble();
final_value = P * * ( + q) * (Math.pow( + q, year) - ) / q;
System.out.println(year + "年后的总产值:" + final_value);
}
static void Repayment()// 等额还款
{
int year;
double q, F, refund;
System.out.printf("贷款金额:");
F = scanner.nextDouble();
System.out.printf("存入年限:");
year = scanner.nextInt();
System.out.printf("年利率:");
q = scanner.nextDouble();
refund = F * q / ( * ( + q) * (Math.pow( + q, year) - ));
System.out.println("贷款" + F + "每月需要还款" + refund);
}
}
0330复利计算java版的更多相关文章
- 复利计算--web版--总结--软件工程
复利计算项目 估计用时 实际用时 时间(小时) 5.5小时 6.5小时 总共代码行 500 550 功能包含 单利/复利计算,本金计算,求投资年限,求投资项目利率估计 (计算利息和,计算时间,计算 ...
- 简单复利计算java板
一.要求: 1.客户说:帮我开发一个复利计算软件. 2如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利 ...
- 复利计算APP版-----娱乐一下
先不说那么多,下载地址来一个:http://pan.baidu.com/s/1eSz2GBg 目前版本号为:0.3 lastest 软件上线了!三平台首发! 下载地址: http://shouji.b ...
- 个人所得税计算java版
年关将至,该到了发年终奖的时候了.所以就到网上去找下,个税计算器,但是发现做的有点像病毒网站似的.所以计算结果也不太敢信,于是琢磨着,要不自己动手写一个个税计算器吧. 说干就干,先上国家税务局了解了下 ...
- 复利计算--4.0 单元测试之JAVA版-软件工程
复利计算--4.0 单元测试-软件工程 前言:由于本人之前做的是C语言版的复利计算,所以为了更好地学习单元测试,于是将C语言版的复利计算修改为JAVA版的. 一.主要的功能需求细分: 1.本金为100 ...
- 0330 复利程序c语言版转java版 会逐渐更进版
import java.util.Scanner; public class compounding { public static void main(String[] args) { menu() ...
- 复利计算C转java版
import java.util.Scanner; public class Compound_int { public static void main(String[] args) { tip() ...
- 复利计算器4.0 【java版】
import java.util.Scanner; public class FuLi { public static void main(String[] args) { ; Scanner sca ...
- 复利计算5.0(改成Java版本)与 单元测试
//由于C语言版本不方便单元测试,所以改成了java版本,部分代码如下:import java.util.Scanner; public class FuLi{ public static void ...
随机推荐
- ARMCC中$Super$$和$Sub$$的使用
代码: extern int $Super$$main(void); /* re-define main function */ int $Sub$$main(void) { rt_hw_interr ...
- 如何通过审计安全事件日志检测密码喷洒(Password Spraying)攻击
许多渗透测试人员和攻击者通常都会使用一种被称为“密码喷洒(Password Spraying)”的技术来进行测试和攻击.对密码进行喷洒式的攻击,这个叫法很形象,因为它属于自动化密码猜测的一种.这种针对 ...
- verilog中初值定义
在利用verilog进行开发时,往往需要对某些寄存器进行赋初值,下面根据笔者在设计中遇到的情况进行分析. 例如下面是实现流水灯(4个led),代码如下: module ledrun ( input ...
- 20155310 《Java程序设计》实验四 (Android程序设计)实验报告
20155310 <Java程序设计>实验四 (Android程序设计)实验报告 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Andro ...
- 修改cmd为utf-8编码:
1.组合键WIN+R键,组合键后就会弹出窗口,然后输入CMD,回车: 2.要修改成UTF8编码,输入命令CHCP 65001(设置为65001): 3.鼠标放在命令窗口的标题部分右键,在弹出的右键菜单 ...
- JS操作数组的常用方式
一.JS操作数组一:删除指定的元素 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. //查找指定元素下标 Array.prototype.indexOf = function ...
- [IOI2011]Race 点分治
[IOI2011]Race LG传送门 点分治板子题. 直接点分治统计,统计的时候开个桶维护下就好了. 注(tiao)意(le)细(hen)节(jiu). #include<cstdio> ...
- activeX 开发
转自 (http://www.cnblogs.com/chinadhf/archive/2010/09/03/1817336.html),并且在开发过程中遇到的问题进行了补充说明,让新手少走弯路 本文 ...
- HBASE理论篇
1.Hbase是什么 HBase是一种构建在HDFS之上的分布式.面向列的存储系统.在需要实时读写.随机访问超大规模数据集时,可以使用HBase. 尽管已经有许多数据存储和访问的策略和实现方法,但事实 ...
- 我想这次我真的理解了 JavaScript 的单线程机制
今天面试的时候被问到一个问题,是关于 JS 异步的.当时我脑海中闪过了一个单线程的概念,但却没有把真正的原理阐述清楚.所以回来特意重新回顾了前面单线程和异步相关的一些知识点. 虽然之前学习的时候也接触 ...