日期:2014-05-16  浏览次数:20381 次

JSP小实例--计算器
package cn.com.caculate;

import java.math.BigDecimal;

public class caculate {
	private String firstNum="0";
	private String secondNum="0";
	private char operator='+';
	private String result="0";
	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 char getOperator() {
		return operator;
	}
	public void setOperator(char operator) {
		this.operator = operator;
	}
	public String getResult() {
		return result;
	}
	public void setResult(String result) {
		this.result = result;
	}
	public void calculate()
	{
		BigDecimal first=new BigDecimal(this.firstNum);
		BigDecimal second=new BigDecimal(this.secondNum);
		switch(this.operator)
		{
		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("除零异常!");
			}
			this.result=first.divide(second, 20, BigDecimal.ROUND_HALF_UP).toString();
			break;
		default:
			throw new RuntimeException("操作有错误!");
		}
	}
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'calculator.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body style="text-align:center;">
  <jsp:useBean id="caculate" class="cn.com.caculate.caculate"></jsp:useBean>
  <jsp:setProperty name="caculate" property="*"/>
  <%
  try{
  	caculate.calculate();
   	}
   catch(Exception e){
   	
   	out.write(e.getMessage());
   }
   %>
   <br/>-----------------------------------------------------<br/>
   	计算结果是:
   <jsp:getProperty name="caculate" property="firstNum"/>
   <jsp:getProperty name="caculate" property="operator"/>
   <jsp:getProperty name="caculate" property="secondNum"/>
   =
   <jsp:getProperty name="caculate" property="result"/>
   <br/>-----------------------------------------------------<br/>
  <form action="calculator.jsp" method="post">
  	<table width="404" border="1">
  		<tr>
  			<td colspan="3">简单的计算器</td>
  		</tr>
  		<tr>
  			<td>第一个数</td>
  			<td>
  				<input type="text" name="firstNum"/>
  			</td>
  		</tr>
  		<tr>
  			<td>选择操纵</td>
  			<td>
	  			<select name="operator">
	  				<option value='+'>+</option>
	  				<option value='-'>-</option>
	  				<option va