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-08
JSP 獲取用戶的真實(shí)IP兩種實(shí)現(xiàn)方法詳解
這篇文章主要介紹了JSP 獲取用戶的真實(shí)IP兩種實(shí)現(xiàn)方法詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能
這篇文章主要為大家詳細(xì)介紹了JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
JSP組件commons-fileupload實(shí)現(xiàn)文件上傳
這篇文章主要為大家詳細(xì)介紹了JSP組件commons-fileupload實(shí)現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
JSP 動(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-04
Jsp和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-06
JSP 重置按鈕清空傳入的表單數(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

