网页版四则运算(未全部完成)
???? 這次作業(yè)一直在做,一直在拖著,總感覺(jué)心里虧欠點(diǎn)什么,但是人就是這樣,一件事情本來(lái)做起來(lái)就沒(méi)有太多成功的幾率,就想著延長(zhǎng)工期,那就一直拖著吧,拖得時(shí)間越久你就會(huì)越發(fā)清晰地意識(shí)到自己已經(jīng)非常觸頭去做那件事情了,仿佛它成了你的軟肋,仿佛你命中注定就該不會(huì)去解決它一般。幸好,我還有繼續(xù)做下去的勇氣。。。
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ———來(lái)自星星的感悟
??? 實(shí)現(xiàn)思路:其實(shí)思路并不難。
??? 1. 先編寫(xiě)一個(gè)運(yùn)行界面HTML文件,用DW做非常簡(jiǎn)單。界面中包含定量的一些數(shù)據(jù):比如參加運(yùn)算的個(gè)數(shù),運(yùn)算數(shù)據(jù)的范圍
??? 2.以及一些用戶(hù)輸入的數(shù)據(jù),如:計(jì)算結(jié)果
??? 3.和運(yùn)行界面返回的數(shù)據(jù),如:生成的計(jì)算式,以及正確的計(jì)算結(jié)果,以及用戶(hù)正確回答和錯(cuò)誤回答的個(gè)數(shù);
??? 4.編寫(xiě)運(yùn)行程序.jsp文件,參數(shù)從先編寫(xiě)好的HTML文件中傳到.jsp文件中
??? 5.具體實(shí)現(xiàn)方法以及詳細(xì)步驟前面的習(xí)題中已經(jīng)寫(xiě)過(guò),前面使用的c++語(yǔ)言,這兒用的Java但是思想是一致的。
以下是實(shí)現(xiàn)代碼:
index.html文件
<!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>四則運(yùn)算計(jì)算器</title> <style type="text/css"> <!-- a {font-family: Georgia, Times New Roman, Times, serif;font-weight: bold; } .style1 {font-family: Verdana, Arial, Helvetica, sans-serif} a:link {color: #0000FF; } a:visited {color: #FF00FF; } a:hover {color: #00FFFF; } a:active {color: #00FF55; } --> </style></head> <form action="Untitled-1.jsp" method="get"> </form><body background="1449af6eddc451daf9216940b6fd5266d21632e5.jpg"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="771" height="49" title="落花雨"><param name="movie" value="蒋蒋%20-%20落花雨%20%5Bmqms2%5D.mp3"><param name="quality" value="high"><embed src="蒋蒋%20-%20落花雨%20%5Bmqms2%5D.mp3" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="771" height="49"></embed> </object> <div align="center"><table width="40%" border="2" cellpadding="1"><caption align="left"><div align="center" class="style1"><h2 align="center"><strong>四則運(yùn)算計(jì)算器</strong></h2></div></caption><tr><th width="67%" bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">參加計(jì)算的數(shù)的個(gè)數(shù):</th><td width="33%" align="center" valign="top" bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#FFFFFF"><div align="center" class="style1"> <select name="number" size="1"> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> </select> <br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">參加計(jì)算的數(shù)據(jù)范圍:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#2A3F55"><div align="center"><input type="text" name=fanwei/><br/> </div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">生成結(jié)果:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#808080"><div align="center"> <%request.setCharacterEncoding("utf-8");String shizi= request.getParameter("Suanshi");%><%="shizi"%><br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">您的計(jì)算結(jié)果:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#00FF00"><div align="center"><input type="text" name=jieguo/><br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">正確答案:</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#FF00FF"><div align="center"><br/></div></td></tr><tr><th bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">總計(jì):</th><td bordercolor="#0000FF" background="../1449af6eddc451daf9216940b6fd5266d21632e5.jpg" bgcolor="#A0A0A4"><div align="center"><input type="text" name=sum/><br/></div></td></tr></table><h2 ><input type ="submit" name="submit" value="提交"> <input type ="reset" name="rein" value="重置"></h2><h2 > </h2> </div></body> </html>.jsp文件 <%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="GB18030"%> <!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> </head> <body> <% request.setCharacterEncoding("utf-8");String n = request.getParameter("number");int number=Integer.valueOf(n);String ra = request.getParameter("rightAs");double rightAs=Double.valueOf(ra);String fw = request.getParameter("fanwei"); int fanwei=Integer.valueOf(fw);String jg = request.getParameter("jieguo"); double jieguo=Double.valueOf(jg); %> <% class Did {double Date[]=new double[10];//存放數(shù)據(jù)的數(shù)組char Operator[]=new char [11];//存放運(yùn)算符的數(shù)組\char OperatorGo()//生成運(yùn)算符的方法 {double a;a = Math.random() % 4;if (a == 0){return'+';}if (a == 1){return'-';}if (a == 2){return'*';}else{return'/';}}char Brackets() {return'('; } void Cun(int number, int scope)//將生成的數(shù)據(jù)存到數(shù)組內(nèi),scope為數(shù)據(jù)范圍 {int control=0;for (int i = 0; i < number; i++){Date[i] =Math.random()%scope;}for (int j = 0; j < number +1; j++){double m =Math.random()*6;if ((int)m==0&&control==0){Operator[j]=Brackets();control++;}else{Operator[j] = OperatorGo();}} } void ChangeDate(int scope) {for (int i = 0; i < 10; i++){if (Date[i] == 0||Date[i]<1){Date[i] = Math.random()%scope ;}} } void ChangeOpreator(int number) {for (int i = 0; i < number; i++) {if (Operator[i] == '('&&i<=number-2){Operator[i+2] = ')';}if (Operator[i] == '('&&i >= number - 2){Operator[i] = OperatorGo();}} } String Output(int number, int scope)//輸出計(jì)算式 {String Suanshi="";ChangeOpreator( number);ChangeDate(scope);for (int i = 0; i <number-1; i++){Suanshi+=Date[i];if (Operator[i] == '('){if (Operator[i - 1] == '+'){Suanshi=Suanshi+"+";}if (Operator[i - 1] == '-'){Suanshi=Suanshi+"-";}if (Operator[i - 1] == '*'){Suanshi=Suanshi+"×";}if (Operator[i - 1] == '/'){Suanshi=Suanshi+"÷";}System.out.println ( Operator[i]);}else if (Operator[i] == ')'){System.out.println ( Operator[i]);if (Operator[i - 1] == '+'){Suanshi=Suanshi+"+";}if (Operator[i - 1] == '-'){Suanshi=Suanshi+"-";}if (Operator[i - 1] == '×'){Suanshi=Suanshi+"+";}if (Operator[i - 1] == '/'){Suanshi=Suanshi+"÷";}}else{Suanshi=Suanshi+ String.valueOf(Operator[i]);}ChangeOpreator(number);ChangeDate(scope);}return Suanshi; } //以上為生成算式部分 //下面是計(jì)算方法 double Calculate(int number) {for (int k = 0; k < number - 1;k++){if (Operator[k] == '('){if (Operator[k + 1] == '+'){Date[k + 2] = Date[k + 1] + Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';Operator[k + 2] = '+';}if (Operator[k + 1] == '-'){Date[k + 2] = Date[k + 1] - Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';Operator[k + 2] = '+';}if (Operator[k + 1] == '*'){Date[k + 2] = Date[k + 1]*Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';if (Operator[k - 1] == '+'){Operator[k+1] = '+';}if (Operator[k - 1] == '-'){Operator[k+1] = '-';}if (Operator[k - 1] == '*' ){Date[k + 1] = 1;}if (Operator[k - 1] == '/'){Date[k + 1] = 1;Operator[k + 1] = '/';}Operator[k + 2] = '+';}if (Operator[k + 1] == '/'){Date[k + 2] = Date[k + 1] / Date[k + 2];Date[k + 1] = 0;Operator[k] = '+';if (Operator[k - 1] == '+'){Operator[k + 1] = '+';}if (Operator[k - 1] == '-'){Operator[k + 1] = '-';}if (Operator[k - 1] == '*'){Date[k + 1] = 1;}if (Operator[k - 1] == '/'){Date[k + 1] = 1;Operator[k + 1] = '/';}Operator[k + 2] = '+';}}}for (int i = 0; i < number - 1; i++){if (Operator[i] == '*'){Date[i + 1] = Date[i] * Date[i + 1];Date[i] = 0;if (i == 0){Operator[i] = '+';}if (Operator[i - 1] == '+'){Operator[i] = '+';}if (Operator[i - 1] =='-'){Operator[i] = '-';}}if (Operator[i] == '/'){Date[i + 1] = Date[i] / Date[i + 1];Date[i] = 0;if (i == 0){Operator[i] = '+';}if (Operator[i - 1] == '+'){Operator[i] = '+';}if (Operator[i - 1] == '-'){Operator[i] = '-';}}}for (int j = 0; j < number - 1; j++){if (Operator[j] == '+'){Date[j + 1] = Date[j] + Date[j + 1];Date[j] = 0;}if (Operator[j] == '-'){Date[j + 1] = Date[j] - Date[j + 1];Date[j] = 0;}}return Date[number - 1];}} %><% class Do{public void main(String args[]){Did a=new Did();String Suansi;double Rightas;int R = 0, E = 0;for (int k = 0; k <number; k++){a.Cun(number, fanwei);Suansi=a.Output(number, fanwei);Rightas=a.Calculate(number);}}}%><jsp:forward page="zuoye.htm"></jsp:forward> </body> </html>
?
文件運(yùn)行結(jié)果截圖:
轉(zhuǎn)載于:https://www.cnblogs.com/aishangtaxuefeihong/p/5408436.html
總結(jié)
以上是生活随笔為你收集整理的网页版四则运算(未全部完成)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Polar SI9000阻抗计算
- 下一篇: (原)SCOR模型在化工行业的应用