利用javabean+jsp写的简单计算器(附加图片)

来源:互联网 发布:蚂蚁金服 java 工资 编辑:程序博客网 时间:2024/06/04 18:59

做个简单计算器来熟悉一下jsp+javabean的应用

首先index.jsp代码

<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>

<html>

<head>

<basehref="<%=basePath%>">

 

<title>My JSP 'index.jsp' starting page</title>

<bodystyle="text-align:center;">

 

    <jsp:useBeanid="fish"class="com.fish.CalculatorBean"/>

    <jsp:setPropertyproperty="*"name="fish"/>//这句话非常重要,*表示将这个表单的数据填给对应的javabean数据

    <%

        try {

            fish.cauclutro();

        } catch (Exception e) {

            out.write(e.getMessage());

        }

    %>

    <a>-----------------------------------------------------------------------------------------------------------------</a>

    <br>

    <a>计算结果:</a>

    <jsp:getPropertyproperty="number1"name="fish"/>

    <jsp:getPropertyproperty="code"name="fish"/>

    <jsp:getPropertyproperty="number2"name="fish"/>

    =

    <jsp:getPropertyproperty="result"name="fish"/>

    <br>

 

    <a>-----------------------------------------------------------------------------------------------------------------</a>

    <br>

    <formaction="/calculator/index.jsp"method="post">

        <tablewidth="50%"border="1"style="background:gray;">

            <tr>

                <tdcolspan="2"style="text-align:center;">简单计算器</td>

            </tr>

            <tr>

                <td>第一个参数</td>

                <td><inputtype="text"name="number1">

                </td>

 

            </tr>

            <tr>

                <td>操作符</td>

                <td><selectname="code">

                        <optionvalue="+">+</option>

                        <optionvalue="-">-</option>

                        <optionvalue="*">*</option>

                        <optionvalue="/">/</option>

 

                </select></td>

 

            </tr>

            <tr>

                <td>第二个参数</td>

                <td><inputtype="text"name="number2"></td>

 

            </tr>

            <tr>

                <tdcolspan="2"style="text-align:center;"><input

                    type="submit"value="提交"/>

                </td>

            </tr>

        </table>

    </form>

</body>

</html>

 

 

在标准的java代码里面一般是不允许写java代码的,这是规范要求。

接著是:javabean的java代碼

packagecom.fish;

 

importjava.math.BigDecimal;

 

public class CalculatorBean {

    String number1 = "0";

    char code = '+';

    String number2 = "0";

    String result = "0";//之所以初始化,是为了防止第一次jsp:userbaen能得到数据

 

    public String getNumber1() {

        returnnumber1;

    }

 

    public void setNumber1(String number1) {

        this.number1 = number1;

    }

 

    public char getCode() {

        returncode;

    }

 

    public void setCode(char code) {

        this.code = code;

    }

 

    public String getNumber2() {

        returnnumber2;

    }

 

    public void setNumber2(String number2) {

        this.number2 = number2;

    }

 

    public String getResult() {

        returnresult;

    }

 

    public void setResult(String result) {

        this.result = result;

    }

 

    public void cauclutro() {

        BigDecimal d1 = new BigDecimal(this.number1);//用来封装计算的方法

        BigDecimal d2 = new BigDecimal(this.number2);

        switch (this.code) {

        case '+':

            result = d1.add(d2).toString();//加法

 

            break;

        case '-':

            result = d1.subtract(d2).toString();//减法

            break;

        case '*':

            result = d1.multiply(d2).toString();//乘法

            break;

        case '/':

            if (d2.doubleValue() == 0) {

                throw new RuntimeException("被除数不能为零!");

            }

            result = d1.divide(d2, 20, BigDecimal.ROUND_UP).toString();//除法

            break;

 

        default:

            break;

        }

 

    }

}

 

我这个其实我是想说在java大数字的加减乘除是有一个类的叫BigDecimal。


点击计算,显示的结果


 


原创粉丝点击