JSP實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)計(jì)算器
本文實(shí)例為大家分享了JSP實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
一、構(gòu)造一個(gè)簡(jiǎn)單的計(jì)算器,能夠進(jìn)行“+、—、*、/”運(yùn)算
(1)編寫(xiě)jsp頁(yè)面,用戶通過(guò)表單輸入兩個(gè)操作數(shù)和運(yùn)算符,調(diào)用該頁(yè)面自身處理該表單,通過(guò)調(diào)用SimpleCalculator類(lèi)的實(shí)例實(shí)現(xiàn)運(yùn)算邏輯,并顯示運(yùn)算結(jié)果。
(2)實(shí)現(xiàn)下邊的jsp網(wǎng)頁(yè)計(jì)算器:

二、代碼實(shí)現(xiàn)
(1)jsp頁(yè)面
<%@page import="com.beans.SimpleCalculator"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
? ? pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>計(jì)算器</title>
</head>
<body>
? ? ? ? ? ?
? ? ? ?<form action="" method="post">
? ? ? ??? ??? ?第一個(gè)數(shù):<input type="text" value="" name="first" size="25px"/>
? ? ? ??? ??? ?<br /><br />
? ? ? ??? ??? ?第二個(gè)數(shù):<input type="text" value="" name="second" size="25px"/>
? ? ? ??? ??? ?<br /><br />
? ? ? ??? ??? ?
? ? ? ??? ??? ?<input type="submit" value="+" name="operator" size="3"/> ?
? ? ? ??? ??? ?<input type="submit" value="-" name="operator" size="3"/>
? ? ? ??? ??? ?<input type="submit" value="*" name="operator" size="3"/> ?
? ? ? ??? ??? ?<input type="submit" value="/" name="operator" size="3"/> ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?<input type="reset" value="清除"/>
? ? ? ?</form>
? ? ? ? <br /><br />
? ? ? ??? ??? ?<%
? ? ? ??? ??? ?
? ? ? ??? ??? ??? ??? ??? ?//獲取表單中的數(shù)據(jù)進(jìn)行運(yùn)算
?? ??? ??? ??? ??? ??? ?String first = request.getParameter("first");//第一個(gè)數(shù)
?? ??? ??? ??? ??? ??? ?String second = request.getParameter("second");//第二個(gè)數(shù)
?? ??? ??? ??? ??? ??? ?String operator = request.getParameter("operator");//運(yùn)算符
?? ??? ??? ??? ? ?? ??? ?String result = "" ;//運(yùn)算結(jié)果
?? ??? ??? ??? ? ?? ??? ?
? ? ? ??? ??? ??? ??? ??? ?//判斷運(yùn)算符
? ? ? ??? ??? ??? ??? ??? ?if(operator.equals("+")) {
? ? ? ??? ??? ??? ??? ??? ??? ?result = String.valueOf((Integer.valueOf(first) + Integer.valueOf(second) ));
? ? ? ??? ??? ??? ??? ??? ?}
? ? ? ??? ??? ??? ??? ??? ?if(operator.equals("-")) {
? ? ? ??? ??? ??? ??? ??? ??? ?result = String.valueOf((Integer.valueOf(first) - Integer.valueOf(second) ));
? ? ? ??? ??? ??? ??? ??? ?}
? ? ? ??? ??? ??? ??? ??? ?if(operator.equals("*")) {
? ? ? ??? ??? ??? ??? ??? ??? ?result = String.valueOf((Integer.valueOf(first) * Integer.valueOf(second) ));
? ? ? ??? ??? ??? ??? ??? ?}
? ? ? ??? ??? ??? ??? ??? ?if(operator.equals("/")) {
? ? ? ??? ??? ??? ??? ??? ??? ?
? ? ? ??? ??? ??? ??? ??? ??? ?if(second.equals("0")) {
? ? ? ??? ??? ??? ??? ??? ??? ??? ?result = "除數(shù)不能為0";
? ? ? ??? ??? ??? ??? ??? ??? ?}else {
? ? ? ??? ??? ??? ??? ??? ??? ??? ?result = String.valueOf((double)(Integer.valueOf(first) / (double)Integer.valueOf(second) ));
? ? ? ??? ??? ??? ??? ??? ??? ?}
? ? ? ??? ??? ??? ??? ??? ?}
? ? ? ??? ??? ??? ??? ??? ?
? ? ? ??? ??? ??? ??? ??? ?//定義一個(gè)計(jì)算器類(lèi)
? ? ? ??? ??? ??? ??? ??? ?SimpleCalculator simpleCalculator = new SimpleCalculator();
? ? ? ??? ??? ??? ??? ??? ?simpleCalculator.setResult(result);
? ? ? ??? ??? ??? ??? ??? ?if( !simpleCalculator.getResult().equals("") && simpleCalculator.getResult() != null){
? ? ? ??? ??? ??? ??? ??? ??? ?out.print("<h2 style= 'color: blue'>");
? ? ? ??? ??? ??? ??? ??? ??? ?out.print("計(jì)算結(jié)果:"+first+operator+second+" = "+simpleCalculator.getResult());
? ? ? ??? ??? ??? ??? ??? ??? ?out.print("<h4>");
? ? ? ??? ??? ??? ??? ??? ?}else{
? ? ? ??? ??? ??? ??? ??? ??? ?out.print("計(jì)算錯(cuò)誤");?
? ? ? ??? ??? ??? ??? ??? ?}
? ? ? ??? ??? ?
? ? ? ??? ??? ??? ??? ?%>
? ? ? ??? ??? ??? ??? ? ?<br /><br />
</body>
</html>(2)SimpleCalculator類(lèi)
public class SimpleCalculator {
?? ?
?? ?//定義變量
?? ?private String first;//第一個(gè)數(shù)
?? ?private String second;//第二個(gè)數(shù)
?? ?private String operator;//運(yùn)算符
?? ?private String result;//運(yùn)算結(jié)果
?? ?
?? ?//定義set和get方法
?? ?public String getFirst() {
?? ??? ?return first;
?? ?}
?? ?public void setFirst(String first) {
?? ??? ?this.first = first;
?? ?}
?? ?public String getSecond() {
?? ??? ?return second;
?? ?}
?? ?public void setSecond(String second) {
?? ??? ?this.second = second;
?? ?}
?? ?public String getOperator() {
?? ??? ?return operator;
?? ?}
?? ?public void setOperator(String operator) {
?? ??? ?this.operator = operator;
?? ?}
?? ?public String getResult() {
?? ??? ?return result;
?? ?}
?? ?public void setResult(String result) {
?? ??? ?this.result = result;
?? ?}
?? ?
?? ?
}以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
win2000server IIS和tomcat5多站點(diǎn)配置
win2000server IIS和tomcat5多站點(diǎn)配置...2006-10-10
基于JSP實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器的方法
這篇文章主要介紹了基于JSP實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器的方法,實(shí)例分析了顯示與邏輯處理的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-02-02
JDBC連接Access數(shù)據(jù)庫(kù)的幾種方式介紹
前幾天老師讓作幾個(gè)JSP連接數(shù)據(jù)庫(kù)的例子,而且連接的數(shù)據(jù)庫(kù)是Access數(shù)據(jù)庫(kù),對(duì)于這個(gè)數(shù)據(jù)庫(kù)自己也不是太了解,后來(lái)了解到學(xué)習(xí)JDBC的時(shí)候,連接access是很方便的,很容易的,但是在連接的時(shí)候也出現(xiàn)了問(wèn)題,但是還是解決了2013-05-05
JSP中實(shí)現(xiàn)系統(tǒng)登錄后的退出原理及代碼
首先要在你登錄的頁(yè)面的某個(gè)地方,寫(xiě)上一個(gè)超級(jí)鏈接,讓它鏈接到exit.jsp頁(yè)面去,然后新建一個(gè)exit.jsp頁(yè)面在其body中寫(xiě)上如下代碼,即可以實(shí)現(xiàn)登錄后的退出,感興趣的朋友可以了解下啊,或許對(duì)你有所幫助2013-01-01
jsp 判斷l(xiāng)ist是否包含string的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jsp 判斷l(xiāng)ist是否包含string的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
jsp 從web.xml讀取連接數(shù)據(jù)庫(kù)的參數(shù)
web.xml讀取連接數(shù)據(jù)庫(kù)的參數(shù),實(shí)現(xiàn)代碼。2009-05-05
JSP 開(kāi)發(fā)之hibernate配置二級(jí)緩存的方法
這篇文章主要介紹了JSP 開(kāi)發(fā)之hibernate配置二級(jí)緩存的方法的相關(guān)資料,這里提供兩種配置二級(jí)緩存的方法,需要的朋友可以參考下2017-08-08
JSP過(guò)濾器Filter配置過(guò)濾類(lèi)型全部匯總
下面小編就為大家?guī)?lái)一篇JSP過(guò)濾器Filter配置過(guò)濾類(lèi)型全部匯總。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02

