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)編寫jsp頁(yè)面,用戶通過(guò)表單輸入兩個(gè)操作數(shù)和運(yùn)算符,調(diào)用該頁(yè)面自身處理該表單,通過(guò)調(diào)用SimpleCalculator類的實(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ì)算器類 ? ? ? ??? ??? ??? ??? ??? ?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類
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)文章
JSP 開(kāi)發(fā)中過(guò)濾器filter設(shè)置編碼格式的實(shí)現(xiàn)方法
這篇文章主要介紹了JSP 開(kāi)發(fā)中過(guò)濾器filter設(shè)置編碼格式的實(shí)現(xiàn)方法的相關(guān)資料,我們知道為了避免提交數(shù)據(jù)的亂碼問(wèn)題,需要在每次使用請(qǐng)求之前設(shè)置編碼格式,這里提供一次性修改所有的請(qǐng)求編碼問(wèn)題,需要的朋友可以參考下2017-08-08JSP 獲取用戶的真實(shí)IP兩種實(shí)現(xiàn)方法詳解
這篇文章主要介紹了JSP 獲取用戶的真實(shí)IP兩種實(shí)現(xiàn)方法詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能
這篇文章主要為大家詳細(xì)介紹了JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09JSP組件commons-fileupload實(shí)現(xiàn)文件上傳
這篇文章主要為大家詳細(xì)介紹了JSP組件commons-fileupload實(shí)現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10JSP 動(dòng)態(tài)樹(shù)的實(shí)現(xiàn)
在實(shí)際的項(xiàng)目開(kāi)發(fā)中有很多是有用到動(dòng)態(tài)樹(shù),所謂的動(dòng)態(tài)樹(shù)就是可以支持無(wú)限級(jí)子節(jié)點(diǎn)。今天我就去給大家實(shí)際演示一下動(dòng)態(tài)樹(shù)如何實(shí)現(xiàn)。2009-04-04Jsp和PHP共用80端口整合Apache和Tomcat(訪問(wèn)時(shí)無(wú)需加端口號(hào))
整合Apache和Tomcat,使得Java工程和PHP工程都能共用80端口,訪問(wèn)網(wǎng)站時(shí),無(wú)需在地址欄中加端口號(hào),具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06JSP 重置按鈕清空傳入的表單數(shù)據(jù)實(shí)例
本例講解的是表單清空,jquery實(shí)現(xiàn)清空表單中填寫及傳入的值,很實(shí)用,喜歡的朋友可以學(xué)習(xí)下2014-09-09基于jsp+mysql實(shí)現(xiàn)在線水果銷售商城系統(tǒng)
這篇文章主要介紹了全新基于jsp+mysql實(shí)現(xiàn)的一個(gè)在線水果銷售商城系統(tǒng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08