JSP实现简单计算器

效果图


<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>计算器</title>
</head>
<body style="text-align: center;">

     <jsp:useBean id="calculatorBean" class="com.saly.calculator.bean.CalculatorBean"/>
    <jsp:setProperty property="*" name="calculatorBean"/><!--property="*" 获取 所有属性-->
    <%
    
        try{
            calculatorBean.calculator();
        }catch(Exception e){
            out.write(e.getMessage());
        }
        
    %>
    <br>------------------------------------------------------<br/>
    <jsp:getProperty property="firstName" name="calculatorBean"/>
    <jsp:getProperty property="operater" name="calculatorBean"/>
    <jsp:getProperty property="secondName" name="calculatorBean"/>
    =
    <jsp:getProperty property="result" name="calculatorBean"/>
    <br>------------------------------------------------------<br/>

    <form action="/JSP/calculator.jsp" method="post">
    <table width="400" border="1" style="text-align: center;">
        <tr>
            <td colspan="2">简单计算器</td>
        </tr>
        <tr>
            <td>第一个参数</td>
            <td>
                <input type="text" name="firstName">
            </td>
        </tr>
        <tr>
            <td>操作符</td>
            <td>
                <select name="operater">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="*">*</option>
                    <option value="/">/</option>
                </select>
            </td>
        </tr>
        
        <tr>
            <td>第二个参数</td>
            <td>
                <input type="text" name="secondName">
            </td>
        </tr>
        <tr>
            <td colspan="3">
                <input type="submit" value="计算">
            </td>
        </tr>
    </table>
    </form>
</body>

</html>






package com.saly.calculator.bean;

import java.io.Serializable;
import java.math.BigDecimal;

public class CalculatorBean implements Serializable{

    
    private static final long serialVersionUID = 1L;
    
    private String firstName = "0";
    private char operater = '+';//int char
    private String secondName = "0";
    private String result;
    
    
    public String getResult() {
        return result;
    }
    public void setResult(String result) {
        this.result = result;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    
    public String getSecondName() {
        return secondName;
    }
    public void setSecondName(String secondName) {
        this.secondName = secondName;
    }
    public char getOperater() {
        return operater;
    }
    public void setOperater(char operater) {
        this.operater = operater;
    }
    
    public void calculator(){
        
        
        BigDecimal first = new BigDecimal(this.firstName);
        BigDecimal second = new BigDecimal(this.secondName);
        switch (this.operater) {
        case '+':
            this.result = first.add(second).toString();
            break;
        case '-':
            this.result = first.subtract(second).toString();
            break;
        case '*':
            this.result = first.multiply(second).toString();
            break;
        case '/':
            if(second.doubleValue()==0)
            {
                throw new RuntimeException("被除数不能为0");
            }
            this.result = first.divide(second).toString();
            break;

        default:
            throw new RuntimeException("运算符只能是:+、-、*、/");
            
        }
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值