0317复利计算3.0
2016-03-17 17:13
225 查看
package kxj; import java.util.Scanner; public class Fulijisuan { public static double p,i,f ; public static double n; //计算本金 public static void Benjin(){ //int n; //float f,i,p; Scanner scanner=new Scanner(System.in); System.out.println("请输入终值: "); f=scanner.nextDouble(); System.out.println("请输入年利率: "); i=scanner.nextDouble(); System.out.println("请输入年数: "); n=scanner.nextInt(); p=(float) (f*1/Math.pow(1+i, n)); System.out.println("本金为: "+(double)(Math.round(p*100)/100.0)); } //计算本息和 public static void Benxihe(){ double sum1,sum2; Scanner scanner=new Scanner(System.in); System.out.println("请输入本金: "); p=scanner.nextDouble(); System.out.println("请输入年利率: "); i=scanner.nextDouble(); System.out.println("请输入年数: "); n=scanner.nextInt(); sum1=(float) (p*Math.pow(1+i, n)); sum2=p*(1+i*n); System.out.println("复利的本息和为: "+(double)(Math.round(sum1*100)/100.0)); System.out.println("单利的本息和为: "+(double)(Math.round(sum2*100)/100.0)); } //计算年数 public static void Nianshu(){ Scanner scanner=new Scanner(System.in); System.out.println("请输入本金: "); p=scanner.nextDouble(); System.out.println("请输入终值: "); f=scanner.nextDouble(); System.out.println("请输入年利率: "); i=scanner.nextDouble(); n=Logarithm.log(f/p,1+i); n=Math.ceil(n); System.out.println("需要存的年数为: "+Math.ceil(n)); } //计算年利率 public static void Lilv(){ Scanner scanner=new Scanner(System.in); System.out.println("请输入本金: "); p=scanner.nextDouble(); System.out.println("请输入终值: "); f=scanner.nextDouble(); System.out.println("请输入年数: "); n=scanner.nextInt(); i=Math.pow(f/p, 1.0/n)-1; System.out.println("年报酬率为: "+(double)(Math.round(i*1000)/1000.0)); } //计算本利之和连同年金投资后的总资产 public static void Nianjin(){ int k=1; f=0; Scanner scanner=new Scanner(System.in); System.out.println("请输入本金: "); p=scanner.nextDouble(); System.out.println("请输入年利率: "); i=scanner.nextDouble(); System.out.println("请输入年数: "); n=scanner.nextInt(); while(k<=n){ p=p+f; f=p*(1+i); k++; } System.out.println("年资产总值为:"+(int)f); } public static void main(String[] args) { int choice; while(true){ System.out.println("\t\t|*******************|"); System.out.println("\t\t| 1.求本金 |"); System.out.println("\t\t| 2.求本息和 |"); System.out.println("\t\t| 3.求年数 |"); System.out.println("\t\t| 4.求利率 |"); System.out.println("\t\t| 5.求年资产总值 |"); System.out.println("\t\t| 6.退出 |"); System.out.println("\t\t|*************|"); Scanner scanner=new Scanner(System.in); System.out.println("请输入你的选择(1~6): "); choice=scanner.nextInt(); switch(choice){ case 1: Benjin(); break; case 2: Benxihe(); break; case 3: Nianshu(); break; case 4: Lilv(); break; case 5: Nianjin(); break; case 6: System.exit(0); break; default: { System.out.println("输入有误!"); break; } } } } }
package kxj; public class Logarithm { static public double log(double value, double base){ return Math.log(value)/Math.log(base); } }
功能说明:
新增了计算期限、年利率,以及每年都将本利和连同年金投入获得的年资产总值的功能。
相关文章推荐
- iOS 时区问题总结 NSTimeZone
- 视频FMS服务器带宽成本分析
- 《The Non-Designer's Design Book(写给大家看的设计书)》--笔记整理
- vfork函数
- Hdu 4568 Hunter【spfa最短路 tsp状态压缩】
- SpringMVC学习笔记--(1)
- 如何使用瑞萨E10A调试SH系列不带片内FLASH的单片机
- sha1/md5 代码
- 安卓开发SQlite使用执行SQL语句一些简单的处理——1.创建数据库,表和添加数据
- 单源点最短路径+高级搜索A*
- CUBRID学习笔记 40 使用net修改数据
- gulp入门演练
- 数据结构(java语言描述)链表的使用
- Theano在windows下的安装及GPU加速
- linux环境下配置java WEB项目运行环境,jdk8+tomcat8+mysql5.7.11 新手向
- oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
- hive 历史拉链表的处理
- dubbo,zookeeper和springmvc整合
- 简单掌握Windows中C#启动外部程序进程的方法
- 堆排序