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


点击计算,显示的结果



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值