您的位置:首页 > 其它

简单的计算器的实现

2014-08-22 10:51 85 查看
jsp文件:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>沈超的计算器</title>
</head>

<body>
<table  border="1"   style="text-align:center;">
	<jsp:useBean id="calculatorbeen"
		class="com.shenchao.response.calculatorbeen" />
	<jsp:setProperty name="calculatorbeen" property="*" />
	<%
		try {
			calculatorbeen.calculator();
		} catch (Exception e) {
			out.write(e.getMessage());
		}
	%>
	<br />-----------------------------------------------------------------
	<br /> 计算结果是:
	<jsp:getProperty name="calculatorbeen" property="firstNum" />
	<jsp:getProperty name="calculatorbeen" property="operator" />
	<jsp:getProperty name="calculatorbeen" property="secondNum" />
	=
	<jsp:getProperty name="calculatorbeen" property="result" />
	<br />-----------------------------------------------------------------------
	<br />

	<form action="/day06/calculator.jsp" method="post">

		<table border="1">
			<tr><pre name="code" class="html">package com.shenchao.response;

import java.math.BigDecimal;

//封装计算器数据的been
public class calculatorbeen {
	private String firstNum = "0";
	private char operator = '+';
	private String secondNum = "0";
	private String result;

	public String getFirstNum() {
		return firstNum;
	}

	public void setFirstNum(String firstNum) {
		this.firstNum = firstNum;
	}

	public String getSecondNum() {
		return secondNum;
	}

	public void setSecondNum(String secondNum) {
		this.secondNum = secondNum;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	public char getOperator() {
		return operator;
	}

	public void setOperator(char operator) {
		this.operator = operator;
	}

	public void calculator() {
		BigDecimal firstNum = new BigDecimal(this.firstNum);
		BigDecimal secondNum = new BigDecimal(this.secondNum);
		switch (this.operator) {
		case '+': {
			this.result = firstNum.add(secondNum).toString();
		}
			break;

		case '-': {
			this.result = firstNum.subtract(secondNum).toString();
		}
			break;

		case '*': {
			this.result = firstNum.multiply(secondNum).toString();
		}
			break;

		case '/': {
			if (secondNum.doubleValue() == 0) {
				throw new RuntimeException("被除数不能为零!");
			}
			this.result = firstNum.divide(secondNum, 20, BigDecimal.ROUND_UP)
					.toString();
			break;
		}
		default:
			throw new RuntimeException("运算符只能是+-*/");
		}
	}
}


<td colspan="2" style="text-align:center;">简单的计算器</td></tr><tr><td style="text-align:center;">第一个参数</td><td style="text-align:center;"><input type="text"name="firstNum"></td></tr><tr><td style="text-align:center;">操作符</td><td style="text-align:center;"><select
name="operator"><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option></select></td></tr><tr><td style="text-align:center;">第二个参数</td><td style="text-align:center;"><input type="text"name="secondNum"></td></tr><tr><td
colspan="2" style="text-align:center;"><input type="submit"value="计算"></td></tr></table></form></table></body></html>



Been文件:

package com.shenchao.response;

import java.math.BigDecimal;

//封装计算器数据的been
public class calculatorbeen {
	private String firstNum = "0";
	private char operator = '+';
	private String secondNum = "0";
	private String result;

	public String getFirstNum() {
		return firstNum;
	}

	public void setFirstNum(String firstNum) {
		this.firstNum = firstNum;
	}

	public String getSecondNum() {
		return secondNum;
	}

	public void setSecondNum(String secondNum) {
		this.secondNum = secondNum;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	public char getOperator() {
		return operator;
	}

	public void setOperator(char operator) {
		this.operator = operator;
	}

	public void calculator() {
		BigDecimal firstNum = new BigDecimal(this.firstNum);
		BigDecimal secondNum = new BigDecimal(this.secondNum);
		switch (this.operator) {
		case '+': {
			this.result = firstNum.add(secondNum).toString();
		}
			break;

		case '-': {
			this.result = firstNum.subtract(secondNum).toString();
		}
			break;

		case '*': {
			this.result = firstNum.multiply(secondNum).toString();
		}
			break;

		case '/': {
			if (secondNum.doubleValue() == 0) {
				throw new RuntimeException("被除数不能为零!");
			}
			this.result = firstNum.divide(secondNum, 20, BigDecimal.ROUND_UP)
					.toString();
			break;
		}
		default:
			throw new RuntimeException("运算符只能是+-*/");
		}
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: