[Java.web]简单计算器
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML>
<html>
<head>
<title>计算结果</title>
</head>
<body>
<jsp:useBean id="calculatorBean"
class="cn.itcast.domain.CalculatorBean"></jsp:useBean> <jsp:setProperty property="*" name="calculatorBean" />
<%
try {
calculatorBean.calculate();
} catch (Exception ex) {
out.write("计算出错:<font color='red'>" + ex.getMessage()
+ "</font>");
}
%> <hr />
<label>计算的结果是:<span id="x1"> <jsp:getProperty
property="arg1" name="calculatorBean" /> </span> <span id="x2"><jsp:getProperty
property="operator" name="calculatorBean" /></span> <span id="x3">
<jsp:getProperty property="arg2" name="calculatorBean" /> </span> = <span
id="x4"> <jsp:getProperty property="result"
name="calculatorBean" /> </span> </label>
<hr /> <form method="post" action="#">
<table border="1">
<tr>
<td colspan="2">简单计算器</td>
</tr>
<tr>
<td>第一个参数</td>
<td><input type="text" name="arg1" />
</td>
</tr>
<tr>
<td>运算符</td>
<td><select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
</tr>
<tr>
<td>第二个参数</td>
<td><input type="text" name="arg2" />
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="计算" />
</td>
</tr>
</table>
</form>
</body>
</html>
package cn.itcast.domain; import java.math.BigDecimal; // 封装计算方法 Bean
public class CalculatorBean {
private String arg1 = "0"; private String arg2 = "0"; private char operator = '+'; private String result; public String getArg1() {
return arg1;
} public void setArg1(String arg1) {
this.arg1 = arg1;
} public String getArg2() {
return arg2;
} public void setArg2(String arg2) {
this.arg2 = arg2;
} 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 firstBigDecimal = new BigDecimal(arg1);
BigDecimal sencondBigDecimal = new BigDecimal(arg2); switch (this.operator) {
case '+':
result = firstBigDecimal.add(sencondBigDecimal).toString();
break;
case '-':
result = firstBigDecimal.subtract(sencondBigDecimal).toString();
break;
case '*':
result = firstBigDecimal.multiply(sencondBigDecimal).toString();
break;
case '/':
if (sencondBigDecimal.doubleValue() == 0) {
//result = "除零错误!";
//break;
throw new RuntimeException("除零错误!");
}
result = firstBigDecimal.divide(sencondBigDecimal, 20,
BigDecimal.ROUND_HALF_UP).toString();
break;
default:
result = "未设定的操作!" + String.valueOf(this.operator);
break;
}
}
}
附上效果图:

[Java.web]简单计算器的更多相关文章
- 【知了堂学习笔记】java web 简单的登录
最近皮皮潇在学习java web,刚接触了简单的东西,所以今天给大家带来一个简单的登录实现. 页面: 页面代码: <%@ page language="java" conte ...
- Java web 简单的增删改查程序(超详细)
就是简单的对数据进行增删改查.代码如下: 1.bean层:用来封装属性及其get set方法 toString方法,有参构造方法,无参构造方法等. public class Bean { privat ...
- 学生信息的添加 Java web简单项目初试(修改)
错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...
- java实现简单计算器功能
童鞋们,是不是有使用计算器的时候,还要进入运行,输入calc,太麻烦了,有时候甚至还忘记单词怎么拼写,呵呵程序员自己写代码实现,又简单,又方便啊 以下为代码(想要生成可执行工具可参考:http://w ...
- [转]java web简单权限管理设计
原文地址:http://blog.csdn.net/zwx19921215/article/details/44467099 最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery eas ...
- java web简单权限管理设计
一套最基本的权限管理包括用户.角色.资源. 数据库设计 我的设计如下: 用户:user 角色:role 用户-角色:user_role 资源:resource(包括上级菜单.子菜单.按钮等资源) 角色 ...
- java web 简单的登录注册
--sql文件 create database studentgouse studentgocreate table stuinfo(--stuid int primary key identity( ...
- Java实现简单计算器、抽票程序
计算器: import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt. ...
- JAVA web简单的登录界面jsp实现
此次试验所用到的软件是myeclipse10,tomcat7,Dreamweaver,sqlserver2008数据库.可以实现用户使用用户名和密码登录.如果登录成功,页面会显示登录成功,如果密码错误 ...
随机推荐
- Python的hasattr() getattr() setattr() 函数使用方法详解--转载
hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 ...
- Educational Codeforces Round 17 C. Two strings 打表二分
C. Two strings time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- 2-3-2 rsync+inotify备份同步数据
RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...
- 微信小程序scroll-view横向滚动
官方文档给的代码复制下来发现无法滚动,没反应,使用css设置浮动属性也无效 官方没有给出css代码,横向需要设置两个css属性才行: white-space: nowrap; ----规定段落中的文本 ...
- MVC Ajax Helpers
在MVC中要实现Ajax有很多的方式,有微软自己的MicrosoftAjax,也可以用JQuery的AJax来实现,如果对其他的JavaScript框架熟悉,还可以采用其他的实现方案,比如说Proto ...
- bzoj1225
题解: 数论+报搜 首先套一个计算因子个数的公式 枚举一下这个数 代码: #include<bits/stdc++.h> using namespace std; ],res[],tmp[ ...
- TR-069: ACS Discovery
ACS Discovery 原文链接:http://www.qacafe.com/knowledgebase/tr-069-training-series-acs-discovery/ In TR-0 ...
- facade外观模式
通过买股票与通过基金买股票引出外观模式: package com.disign.facade; /** * Created by zhen on 2017-05-18. */ public class ...
- 『转』Emsisoft Anti-Malware 8刷Key教程 - 文字版
先分主机和客机,下载好 EAM8安装包 和 30天重置工具EAM Trial Reset 1.1.exe 1. 主机安装 Emsisoft Anti-Malware 8 并激活30天试用版 如果已 ...
- java-IO-基本输出输入流
/ 标准输入输出流: 直接类名调用 一经创建无法改变 public static final PrintStream err “标准”错误输出流. public static final InputS ...