1. 程式人生 > 其它 >完善計算器程式,實現減法、乘法和除法功能

完善計算器程式,實現減法、乘法和除法功能

MVC計算器

  加法器原始碼地址使用符合MVC設計模式的自定義框架實現加法計算器 - 柳若絮 - 部落格園 (cnblogs.com)

  在原有基礎上對add.jsp進行修改,程式碼如下:

<%@ page contentType="text/html;charset=GBK" language="java" %>
<html>
<head>
  <title>計算器</title>
</head>
<body bgcolor="#ffffc0">
<h1>算術計算器</h1>
<form id="calcForm" method="post">
  <table>
    <tbody>
    <tr>
      <td>第一個數</td>
      <td><input type="text" name="num1"/></td>
    </tr>
    <tr>
      <td>第二個數</td>
      <td><input type="text" name="num2"/></td>
    </tr>
    </tbody>
  </table>
  <td><input type="button" id="add" value="+"/></td>
  <td><input type="button" id="sub" value="-"/></td>
  <td><input type="button" id="mul" value="*"/></td>
  <td><input type="button" id="div" value="/"/></td>
</form>
<script type="text/javascript">

var add=document.getElementById("add");
var sub=document.getElementById("sub");
var mul=document.getElementById("mul");
var div=document.getElementById("div");
var calcForm=document.getElementById("calcForm")

add.onclick=function() {
    calcForm.action="add.action";
    calcForm.submit();
}
sub.onclick=function() {
    calcForm.action="sub.action";
    calcForm.submit();
}
mul.onclick=function() {
    calcForm.action="mul.action";
    calcForm.submit();
}
mul.onclick=function() {
    calcForm.action="mul.action";
    calcForm.submit();
}
</script>
</body>
</html>

​  在com.dh.ch01.action包中建立SubAction類,程式碼如下:

package com.dh.ch01.action;

import com.dh.ch01.biz.Calculator;
import com.dh.ch01.framework.Action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SubAction implements Action {
    //業務邏輯物件
    private Calculator biz = new Calculator();
    public String execute(HttpServletRequest request, HttpServletResponse response) {
        //獲得頁面輸入
        double num1 = Double.parseDouble(request.getParameter("num1"));
        double num2 = Double.parseDouble(request.getParameter("num2"));
        //呼叫業務邏輯方法,獲得返回值
        double result = biz.sub(num1, num2);
        //將結果存放在request中,以便在頁面中得到
        request.setAttribute("result", result);
        //返回將要轉發的頁面路徑
        return "add_result.jsp";
    }
}

  在com.dh.ch01.action包中建立MulAction類,程式碼如下:

package com.dh.ch01.action;

import com.dh.ch01.biz.Calculator;
import com.dh.ch01.framework.Action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MulAction implements Action {
    //業務邏輯物件
    private Calculator biz = new Calculator();
    public String execute(HttpServletRequest request, HttpServletResponse response) {
        //獲得頁面輸入
        double num1 = Double.parseDouble(request.getParameter("num1"));
        double num2 = Double.parseDouble(request.getParameter("num2"));
        //呼叫業務邏輯方法,獲得返回值
        double result = biz.mul(num1, num2);
        //將結果存放在request中,以便在頁面中得到
        request.setAttribute("result", result);
        //返回將要轉發的頁面路徑
        return "add_result.jsp";
    }
}

  在com.dh.ch01.action包中建立DivAction類,程式碼如下:

package com.dh.ch01.action;

import com.dh.ch01.biz.Calculator;
import com.dh.ch01.framework.Action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DivAction implements Action {
    //業務邏輯物件
    private Calculator biz = new Calculator();
    public String execute(HttpServletRequest request, HttpServletResponse response) {
        //獲得頁面輸入
        double num1 = Double.parseDouble(request.getParameter("num1"));
        double num2 = Double.parseDouble(request.getParameter("num2"));
        //呼叫業務邏輯方法,獲得返回值
        double result = biz.div(num1, num2);
        //將結果存放在request中,以便在頁面中得到
        request.setAttribute("result", result);
        //返回將要轉發的頁面路徑
        return "add_result.jsp";
    }
}