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

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

首先index.jsp代码

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

<html>

<head>

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

<title>My JSP 'index.jsp' starting pagetitle>

<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。

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

点击计算,显示的结果


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


你可能感兴趣的:(利用javabean+jsp写的简单计算器(附加图片))