Java后端开发 |
您所在的位置:网站首页 › excel制作贷款计算器 › Java后端开发 |
MVC房贷计算器(Ajax版)
1.新建一个JavaWeb项目hslcalweb,设置tomcat10。 2.创建房贷计算器JavaBean:HslCalBean.java,增加以下的属性,并生成Getter/Setter方法。 private double total; //贷款额度 private int loanyear; //贷款年限 private double rate; //年利率 private double interest; //总利息 private double repayment; //每月还款 private int loanNumber; //贷款期数 private double repayTotal; //还款总额 private StringBuffer results; //等额本金,还款列表字符串3.生成默认和带三个已知参数的构造方法。 public HslCalBean(double total, int loanyear, double rate) { super(); this.total = total; this.loanyear = loanyear; this.rate = rate; } public HslCalBean() { super(); }4.增加计算器的计算方法cal() public void cal() { double mrate=rate/12; //月利率=年利率/12 loanNumber=loanyear*12; //贷款期数=年限*12 //总利息=贷款额*贷款月数*月利率*(1+月利率)贷款月数/[(1+月利率)还款月数 - 1]-贷款额 interest = (total*10000*loanNumber*mrate*Math.pow(mrate+1,loanNumber))/(Math.pow(mrate+1,loanNumber)-1)-total*10000; //还款总额=还款月数*贷款额*月利率*(1+月利率)贷款月数/[(1+月利率)还款月数 - 1] repayTotal=(loanNumber* total*10000*mrate*Math.pow(mrate+1,loanNumber))/(Math.pow(mrate+1,loanNumber)-1); //每月还款=贷款本金×[月利率×(1+月利率)^还款月数]÷{[(1+月利率)^还款月数]-1} repayment =total*10000*(mrate* Math.pow(mrate+1,loanNumber))/(Math.pow(mrate+1,loanNumber)-1); } 5.增加一个测试类HslTest.java,对JavaBean测试,并对比结果是否正确。 public class HslTest { public static void main(String[] args) { DecimalFormat df=new DecimalFormat("#.00"); HslCalBean hslCal= new HslCalBean(50,30, 0.043) ; hslCal.cal(); System.out.println("贷款总额:"+hslCal.getTotal()+"元"); System.out.println("总利息:"+df.format(hslCal.getInterest())+"元"); System.out.println("还款总额:"+df.format(hslCal.getRepayTotal())+"元"); System.out.println("还款期数:"+df.format(hslCal.getLoanNumber())+"月"); System.out.println("月均还款:"+df.format(hslCal.getRepayment())+"元"); } }6.新建一个控制器Servlet:HslCalServlet.java,映射的URL:/hslcal,从浏览器输入参数调用房贷计算器JavaBean。 public class HslCalServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { double total=Double.parseDouble(request.getParameter("total")); int loanyear=Integer.parseInt(request.getParameter("loanyear")); double rate=Double.parseDouble(request.getParameter("rate")); DecimalFormat df=new DecimalFormat("#.00"); HslCalBean hslCal= new HslCalBean(total,loanyear, rate) ; hslCal.cal(); response.setCharacterEncoding("UTF-8"); response.setHeader("content-type","text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("贷款总额:"+hslCal.getTotal()+"元"); out.println("总利息:"+df.format(hslCal.getInterest())+"元"); out.println("还款总额:"+df.format(hslCal.getRepayTotal())+"元"); out.println("还款期数:"+df.format(hslCal.getLoanNumber())+"月"); out.println("月均还款:"+df.format(hslCal.getRepayment())+"元"); } }7.引入JQuery库,存放在webapp/js/jquery-3.6.4.min.js路径下。 链接:https://pan.baidu.com/s/1_wOpxn6wUBDbGsqx0VSPpw?pwd=2023 提取码:2023 8.新建一个房贷计算器表单页面hslcal_ajax.html,完成表单设计,让用户从网页输入参数,并提交服务器端Servlet小程序计算结果。 DOCTYPE html> 房贷计算器 $(function(){ $('#btn_cal').click(function(){ $.ajax({ url:"hslcal", type:"POST", data:$("#calform").serialize(), success:function(data){ $('#result').val(data); }, error:function(data){ alert("error!") } }); }); }) 房贷计算器2023 贷款总额: 按揭年数: 5年(50期) 10年(120期) 20年(240期) 30年(360期) 贷款利率: 3.65%(5年及5年以内) 4.3%(5年以上)9.运行效果 1.引入Java的JSON的工具库jackson,存放于路径webapp/WEB-INF/lib下面。 所需要包链接:https://pan.baidu.com/s/1fPUCBotqCOwYnsUrTyiG8g?pwd=2023 提取码:2023 10.新建一个控制器Servlet:HslCalJsonServlet.java,映射的URL:/hslcaljackson,从浏览器输入参数调用房贷计算器JavaBean,利用Jackson生成JSON结果返回。 public class HslCalJacksonServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { double total=Double.parseDouble(request.getParameter("total")); int loanyear=Integer.parseInt(request.getParameter("loanyear")); double rate=Double.parseDouble(request.getParameter("rate")); String repayType=request.getParameter("repayType"); DecimalFormat df=new DecimalFormat("#.00"); HslCalBean hslCal= new HslCalBean(total,loanyear, rate) ; hslCal.cal(); response.setCharacterEncoding("UTF-8"); response.setHeader("content-type","text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(hslCal); out.print(json); } }11.运行效果 1.给房贷计算器JavaBean类HslCalBean.java增加等额本金的属性,并设置getter/setter。 private StringBuffer results; //等额本金,还款列表字符串2.给房贷计算器JavaBean类HslCalBean.java增加等额本金的计算方法cal2()。 public void cal2() { double mrate=rate/12; //月利率=年利率/12 loanNumber=loanyear*12; //贷款期数=年限*12 interest= (loanNumber+1)*total*10000*mrate/2; //总利息=(还款月数+1)×贷款额×月利率/2 repayTotal=interest+total*10000; //还款总额= 总利息 + 贷款额 double totalm=total*10000/loanNumber; // 每月本金=总本金/还款月数 double totalsum=0; results=new StringBuffer("\""); DecimalFormat df=new DecimalFormat("#.00"); for(int i=1;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |