`
leaf-stop
  • 浏览: 26548 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

JavaBean创建和使用:计算器

    博客分类:
  • jsp
阅读更多

JavaBean创建和使用——计算器

1、掌握JavaBean创建和使用方法;

2、领会JavaBean简化页面设计的优势等。

设计简单计算器

要求:完成加减乘除

    当除数为零时报错

    将加减乘除部分写在JavaBean中,JSP页面中调用显示计算结果。

Calculator.java

 

package com.jk.yt;

import java.math.BigDecimal;

public class Calculator {

	private String onenum = "0";
	private String twonum = "0";
	private char fuhao = '+';
	private String result;

	public String getOnenum() {
		return onenum;
	}

	public void setOnenum(String onenum) {
		this.onenum = onenum;
	}

	public String getTwonum() {
		return twonum;
	}

	public void setTwonum(String twonum) {
		this.twonum = twonum;
	}

	public char getFuhao() {
		return fuhao;
	}

	public void setFuhao(char fuhao) {
		this.fuhao = fuhao;
	}

	public String getResult() {
		return result;
	}

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

	public void calculate(){
		BigDecimal a=new BigDecimal(this.onenum);
		BigDecimal b=new BigDecimal(this.twonum);
		switch (this.fuhao) {
		case '+':
			this.result=a.add(b).toString();
			break;
			
		case '-':
			this.result=a.subtract(b).toString();
			break;

		case '*':
			this.result=a.multiply(b).toString();
			break;
			
		case '/':
			if(b.doubleValue()==0){
				throw new RuntimeException("<h1>sorry,出错了!!除数不能为零</h1>");
			}
			this.result=a.divide(b,10,BigDecimal.ROUND_HALF_DOWN).toString();
			break;
			
		default:
			break;
		}
	}
}

 index.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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>计算器</title>
<style type="text/css">
#top {
	text-align: center;
}

table {
	width:330px;
	height:220px;
	text-align: center;	
	margin: 0 auto;
	background: url(4.jpg);
}
</style>

</head>
<body>
	<jsp:useBean id="calculate" class="com.jk.yt.Calculator"></jsp:useBean>
	<jsp:setProperty property="*" name="calculate" />
	<%
		try {
			calculate.calculate();
	%>
	<div id="top">
		<h1>
			计算结果:
			<jsp:getProperty property="onenum" name="calculate" />
			<jsp:getProperty property="fuhao" name="calculate" />
			<jsp:getProperty property="twonum" name="calculate" />
			=<jsp:getProperty property="result" name="calculate" />
		</h1>
		<hr>
	</div>

	<form action="index.jsp" method="post" name="form">
		<table>
			<tr>
				<td colspan="2"><h1>简单的计算器</h1></td>
			</tr>
			<tr>
				<td>第一个参数</td>
				<td><input type="text" name="onenum" /></td>
			</tr>
			<tr>
				<td colspan="2"><select name="fuhao" id="jisuan">
						<option value="+">+</option>
						<option value="-">-</option>
						<option value="*">*</option>
						<option value="/">/</option>
				</select></td>
			</tr>
			<tr>
				<td>第二个参数</td>
				<td><input type="text" name="twonum" /></td>
			</tr>
			<tr>
				<td colspan="2">
					<button type="submit">计算</button>
				</td>
			</tr>
		</table>
	</form>
	<%
		} catch (Exception e) {
			out.write(e.getMessage());
		}
	%>

</body>
</html>

 最终结果如图所示:

加法:

 乘法:

 除法,除数为零时报错

代码上传至附件:Jspwork501.zip
 
 

 

  • 大小: 22.9 KB
  • 大小: 22.5 KB
  • 大小: 23 KB
  • 大小: 18.7 KB
  • 大小: 7.2 KB
0
0
分享到:
评论
1 楼 endual 2016-06-01  
可以采用ajax方式,把体验做的好点。

相关推荐

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘 作者:王晓军 田中雨 刘跃军 等 全书共分12章,介绍了,JSP开发环境配置,页面组成元素,内置对象,访问数据库技术,...练习9-3 使用JavaScript创建计算器 354

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例017 设计计算器程序界面 26 实例018 设计关于进销存管理系统的界面 27 第2章 Java基础应用 29 2.1 基本语法 30 实例019 输出错误信息与调试信息 30 实例020 从控制台接收输入字符 31 实例021 重定向输出流实现...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    最新Java面试宝典pdf版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    JAVA上百实例源码以及开源项目源代码

    FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...

    Java案例开发锦集

    案例3 用JDOM解析XML文件 案例4 Java编制的时钟 案例5 简单日历 案例6 系统内存状态监视程序 案例7 简单计算器 案例8 多线程断点续传 案例9 笛卡尔曲线 第四章 Java与游戏 案例1 ...

    Java面试笔试资料大全

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    Java面试宝典2010版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 71、说出一些常用的类,包,接口,请各举5个 72、java中有几种...

    java面试题大全(2012版)

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    Java面试宝典-经典

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    JAVA面试宝典2010

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    Java面试宝典2012版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中...

Global site tag (gtag.js) - Google Analytics