Java实现银行复利利息计算

Java基础小练习——银行利率 银行利率表如下表所示,请计算存款10000元,活期1年、活期2年,定期1年,定期2年后的本息合计。 import java.util.Scanner; public class TestBankInterestRate { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ... 阅读详情

一、实验题目:Java编程基础

二、实验目的:熟悉开发环境、掌握程序结构和流程控制语句。

三、实验内容:

【程序2】钱精打与郝细算

有两位先生名叫“钱精打”与“郝细算”,想比赛看谁存的钱会比较多。两个人的本钱刚开始都一样,都有10000元。钱精打存入一家利率比较高的银行,为年利率10%,但采用单利计算。郝细算则更会算了,存入一家年利率只有5%,但采用复利计算的银行。请问郝细算先生的钱要多少年后会比钱精打多?

单利计算就是指只有本金计算利息。例如:1200元于年初存入银行,在利率是6%的情况下,3年后会得到1200+1200×6%×3=1416元,其中利息为216元。

复利计算是指不仅本金计算利息,利息也计算利息,也就是通常所说的“利滚利”。

第一年年末  1200+1200×6%=1200×(1+6%)

第二年年末  1200×(1+6%)+1200×(1+6%)×6%

                     =1200×(1+6%)2

第三年年末  1200×(1+6%)2+1200×(1+6%)2×6%

                     =1200×(1+6%)3

import java.math.*;
import java.util.Scanner;
public class HelloWorld
{

        public static void main(String[] args)
        {
      
double money=10000.0;
            int years=1;
            double way1=money+money*0.1*years;
            double way2=money*(Math.pow(1.05,years));

            while(true)
            {
                if(way2<way1) {
                    years++;
                    way1=money+money*0.1*years;
                    way2=money*(Math.pow(1.05,years));

                }
                else {
                    System.out.println(years);
                    break;
                }
            }
        }
}

五、遇到问题及解决方案:

1、分钟数上取整,引用Math.ceil来实现上取整的功能

2、双精度和单精度浮点数转换出现问题,统一修改成双精度浮点数

3、最后结果格式,利用字符串String.format来实现

4、way1和way2计算出现问题,利用Java调试来解决

Java实现金融计算模型:深入探索金融领域的计算工具! 🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 阅读详情

相关推荐

使用BigDecimal计算复利的Java实践项目

复利计算是一种基于利息再次产生利息的计算方法。其核心思想在于利息不仅仅是基于最初的本金计算,而且每一期的利息都会在下一期中产生额外的利息。复利计算通常用于金融投资和贷款计算等场景。复利的计算公式如下:其中:- ( A ) 是未来价值,即本金加上利息的总金额。- ( P ) 是本金(Principal),也就是最初投资或贷款的金额。- ( r ) 是年利率(Rate),表示每一年赚取的利息比例。- ( n ) 是每年计息次数(Number of periods per year)。

weixin_31961675的博客 1142

java先息后本计算每期还款金额;实现等额本息代码(80万元的30年期住房贷款,年利率为5.25%,要求算出每一期的还款的本金和利息总额)

【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】 【创作不易,点个赞就是对我最大的支持】 前言 仅作为学习笔记,供大家参考 面试遇到这么一道题: 编程题:银行贷款的还款方式中最常用的是一种叫“等额本息”,还款法,即借款人在约定还款期限内的每一期(月)归还的金额(产生的利息+部分本金)都是相等的,现有一笔总额为80万元的30年期住房贷款,年利率为5.25%,要求算出每一期的还款的本金和利息总额【请写出解决思路和任意一种编程语言实现的主要代码。】 话不多少上代码: import ja.

q_1092535160的博客 2040

java实验报告完整版

上java实验课时上交的实验报告,包括全部实验,做实验必备的报告,很好很强大!

银行利息计算(java)

编写程序实现不同银行的利息计算。假设Bank类中已有按整年year计算利息的一般方法,其中year只能取正整数。而建设银行ConstructionBank和汉口银行HanKouBank准备重写计算利息的方法,建设银行的非整年的利息按天计算,利率是0.0001,汉口银行的非整年的利息也是按天计算,利率是0.00012。

qq_53581464的博客 4748

Java_Interest:计算复利的简单程序。 演示一个 for 循环。 摘自“Java 如何编程,10,早期对象”——第 5 章

#兴趣 计算复利的简单程序。 演示一个 for 循环。 从- 第 5 章

实现自己的AI视频监控系统-第一章-视频拉流与解码4(重点)

使用本章节代码请引用此优快云链接,尊重知识、尊重他人劳动。这一小节将正式进入代码实现部分。我们会结合实际业务需要和拉流解码流程实现一个灵活、轻便、易用的视频拉流解码模块,支持多路视频拉流解码且可以动态更新更新内部参数。在开始设计之初,我们首先考虑的是使用大家所熟知的 **OpenCV(cv2.VideoCapture)**来实现拉流和解码功能。它的 API 简单直接,几行代码就能实现从网络流中读取帧,对于快速原型验证来说非常方便。然而,在经过深入的调研和测试后,我们发现 OpenCV 在处理多路视频流、追

soulproficiency的博客 2268

Java顺序结构综合练习一之银行复利计息收益计算

本关任务:假定一个用户初始时向一个储蓄帐户中存了 1000 元人民币,年利率为 2.25%。那么月利率为 0.0225/12=0.001875。第一个月后,账户金额变为 1000*(1+0.001875)=1001.875,第二个月后,账户金额变为 (1001.875) *(1+0.001875)=1003.75351563,依次类推。编写一个程序,四输出 6 个月后的账户金额,最后结果舍五入后保留两位小数。

无聊人的博客 1067

谷歌学术用publish-or-perish来对引用量排序

用谷歌学术搜索文献的时候发现不能按照引用量高低进行排序,网上提供了这个软件。 下载地址如下:Publish or Perish (harzing.com)https://harzing.com/resources/publish-or-perish 关于软件界面页面和各种指标的介绍,可以参考中科大的这个PPT: 文献分析软件——publish or perish(精品·公开课件).ppt (book118.com)https://max.book118.com/html/2018/1124/813

m0_48878989的博客 1万+

15:银行利息

15:银行利息

just_panlei的博客 378

CentOS7下快速修复libssl.so.1.1缺失问题(附腾讯云镜像加速下载)

本文详细介绍了在CentOS7系统中快速修复libssl.so.1.1缺失问题的工程化实践方案。通过编译安装OpenSSL 1.1.x版本、配置动态链接器及创建符号链接等步骤,有效解决共享对象文件缺失问题,并提供了腾讯云镜像加速下载的优化方案,帮助开发者高效部署现代应用。

weixin_33711647的博客 369

OpenWebUI外部模型配置异常排查与修复指南

本文详细解析了OpenWebUI外部模型配置异常的常见问题及解决方案,包括隐藏字符、数据库锁死等典型现象。通过错误日志分析和数据库修复实战指南,帮助开发者快速定位并解决配置问题,确保OpenWebUI与第三方大模型的稳定连接。

weixin_29205061的博客 313

java chapter07-1

package bank; public class Bank { int saveMoney; int year; double interest; double interestRate = 0.29; public double computerInterest(){ interest = year*interestRate*saveMoney; return inter

樊露露 1203

手把手教你学Simulink——基于Simulink的PMSM MTPA + FW 全速域平滑切换策略

本文提出一种基于Simulink的PMSM全速域平滑切换控制策略,通过融合MTPA和弱磁控制(FW)实现基速附近的无冲击过渡。在过渡区采用加权融合电流给定方法,使电流超调<5%、转速波动<2%,全速域效率>90%。文章详细介绍了系统架构、核心算法及Simulink建模步骤,包括融合控制器设计、切换逻辑实现和参数优化。仿真结果表明,该方法相比传统硬切换显著改善了动态性能,并扩展了调速范围。同时提供了可直接复用的工程模板和MATLAB代码,为电机控制工程师提供了实用的全速域控制解决方案。

MHD0815的博客 80

Java/计算银行利率

package study; /** * @author cc *.银行利率表,计算存款10000元,活期1年、活期2年,定期1年,定期2年后的本息合计。 */ public class Bank { public static void main(String[] args) { int a = 10000; double b = a+a*0.0035; double c ...

WANGJIABING_的博客 2442

14.建立时间、保持时间以及vivado时序report的参考使用

在设计数字系统时,需要仔细考虑电路元件的选择和布局以及时序设计来满足建立时间和保持时间的要求。建立时间,又称为建立时间窗口或建立期,是指数字信号在触发器的时钟信号前沿到来之前,必须已经稳定存在的时间。在本章节将结婚扫建立时间和保持时间的基本原理,以及如何通过vivado处理建立时间和保持时间。通过使用同步电路,可以更好地控制数据传输的时序并满足建立时间和保持时间的要求。例如,在D触发器中,选择具有适当充电和放电特性的D端口元件可以确保在时钟信号前沿到达前数据已经稳定存在,并在时钟信号前沿到达后保持稳定。

FPGA/MATLAB学习教程/源码/项目合作开发 2986

16、TFT-LCD 1.8寸显示屏使用

1.8寸TFT-LCD显示屏,简单来说就是用来显示东西的显示器,跟之前的oled1315显示屏的作用是一样的,今天我们就来使用TFT显示屏显示一些内容。1.8寸TFT-LCD显示屏,简单来说就是用来显示东西的显示器,跟之前的oled1315显示屏的作用是一样的,今天我们就来使用TFT显示屏显示一些内容。这块显示屏在淘宝就可以买得到,驱动版本是ST7735S,这里圈住,一会要考的。

繁星点点~ 6768

计算存款利息

输入存款金额money、存期year和年利率rate,计算存款利息 公式:interest = money(1+rate)^ year - money (输出时保留两位小数) 代码: import java.util.Scanner; public class Test{ public static void main(String[] args){ int money,year; doub...

m0_45133750的博客 1561

社区版 ABAP MCP 能不能读取 SAP S/4HANA 公有云开发对象,我的判断是能试,但不能当成已被 SAP 背书的标准通道

文章摘要:当前存在多个社区项目(如mcp-abap-adt、mcp-abap-abap-adt-api等)通过包装ABAP ADT能力为MCP Server,使AI开发工具能读取ABAP对象。这些项目技术上依赖ADT HTTP API或SAP官方ADT language server,但针对SAP S/4HANA Cloud Public Edition的完整适配仍存在挑战。SAP官方已通过VS Code扩展提供ADT MCP能力,而社区方案在云环境下需遵循ABAP Cloud的严格限制,仅能访问已授权的开

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 87

快速验证:用BIGDECIMAL构建利息计算器原型

比如计算年化5%的利息时,用new BigDecimal("0.05")比直接写0.05更可靠。对于需要快速验证计算模型的场景,这种开发方式比写测试用例更直观。最近在做一个金融小工具的原型验证,需要快速测试复利计算模型的可行性。传统用double计算时经常遇到精度丢失问题,这次改用BigDecimal来保证金融计算的准确性。复利计算的指数增长曲线和简单利息的直线对比非常直观,验证了"时间+复利"的威力。这个原型虽然界面简单,但完整包含了金融计算的核心逻辑。底部结果区:同时显示两种计算方式的对比结果。

AmberLeopard26的博客 829

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java二级 计算复杂利息_java 计算存款利息

程序填空,不要改变与输入输出有关的语句。输入存款金额money、存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。interest=money(1+rate)...程序填空,不要改变与输入输出有关的语句。输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小...

weixin_30856775的博客 1616

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java练习——模拟银行计算利率

模拟银行模型: 现要求计算在建设银行存入10万元,存期为10年零200天的利息 package bank; //bank类 父类 public class bank { double lx(double year,double money) { double lx=year*money*0.35; return lx; } } package bank; //jbank类 模拟建设银行 子类 public class jbank extends bank { double tl

m0_47396944的博客 2297

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

简单复利计算java板

一、要求: 1.客户说:帮我开发一个复利计算软件。 2如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 5.如果我希望在十年内将100万元变成200万元,应该...

weixin_33908217的博客 379

java复利计算,该好好做定期理财了,不然以后植发都植不起,只能戴帽子

public static void main(String[] args) { int principal = 40000;//本金 float interest_rate = 0.043f;//利率 int every_money = 4000;//每次投增加金额 double count_time = 9;//投入次数,相当...

weixin_39728460的博客 625

java常见逻辑练习题本金10000元 存入银行 ,您利息是千分之3,每过1年将本金和利息相加作为新的本金,问 10年之后 取出来一共多少钱?

题目:本金10000元 存入银行 ,您利息是千分之3,每过1年将本金和利息相加作为新的本金,问 10年之后 取出来一共多少钱? 拿到题后分析,题目是要求求出10年后取出来,那么我们可以定义一个循环,每循环1次当做1年,咱们循环10次来当做10年,即: for (int i = 1; i &lt;= 10; i++) { } 接下来,我们定义一个double ben = 10000; 来表示...

sztdbk的博客 1万+

练习-Java顺序结构综合练习一之银行复利计息收益计算

假定一个用户初始时向一个储蓄帐户中存了 1000 元人民币,年利率为 2.25%。那么月利率为 0.0225/12=0.001875。第一个月后,账户金额变为 1000*(1+0.001875)=1001.875,第二个月后,账户金额变为 (1001.875) *(1+0.001875)=1003.75351563,依次类推。编写一个程序,四输出 6 个月后的账户金额,最后结果舍五入后保留两位小数,简单介绍了Java顺序结构综合练习一之银行复利计息收益计算。...

m0_65420451的博客 2465

金融应用:复利值

假设你每月在储蓄账户上存100美元,年利率是5%。那么每月利率是0.05/12=0.00417。在一个月之后,账户上的值变成: 100*(1+0.00147)=100.417 在二个月之后,账户上的值变成: 100.417*(1+0.00417)=100.83573889‬ 以此类推。 编写程序,提示用户输入一个金额数(例如100)、年利率(例如:5)以及月份数(例如:6),然后显示给定月份后账户上的钱数(保留两位小数)。 package 学习; import java.util.*; public cla

Yunshangxiaohai的博客 1433
上一篇: Java计算通信话费小案例
下一篇: 利用JSP实现日历和当前天数显示,附加CSS特效
Zhimin's-blog
博客等级 码龄5年 41粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值