网页版四则运算(未全部完成)
???? 這次作業一直在做,一直在拖著,總感覺心里虧欠點什么,但是人就是這樣,一件事情本來做起來就沒有太多成功的幾率,就想著延長工期,那就一直拖著吧,拖得時間越久你就會越發清晰地意識到自己已經非常觸頭去做那件事情了,仿佛它成了你的軟肋,仿佛你命中注定就該不會去解決它一般。幸好,我還有繼續做下去的勇氣。。。
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ———來自星星的感悟
??? 實現思路:其實思路并不難。
??? 1. 先編寫一個運行界面HTML文件,用DW做非常簡單。界面中包含定量的一些數據:比如參加運算的個數,運算數據的范圍
??? 2.以及一些用戶輸入的數據,如:計算結果
??? 3.和運行界面返回的數據,如:生成的計算式,以及正確的計算結果,以及用戶正確回答和錯誤回答的個數;
??? 4.編寫運行程序.jsp文件,參數從先編寫好的HTML文件中傳到.jsp文件中
??? 5.具體實現方法以及詳細步驟前面的習題中已經寫過,前面使用的c++語言,這兒用的Java但是思想是一致的。
以下是實現代碼:
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>四則運算計算器</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>四則運算計算器</strong></h2></div></caption><tr><th width="67%" bordercolor="#D41F00" bgcolor="#C0C0C0" scope="row">參加計算的數的個數:</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">參加計算的數據范圍:</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">生成結果:</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">您的計算結果:</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">總計:</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];//存放數據的數組char Operator[]=new char [11];//存放運算符的數組\char OperatorGo()//生成運算符的方法 {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)//將生成的數據存到數組內,scope為數據范圍 {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)//輸出計算式 {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; } //以上為生成算式部分 //下面是計算方法 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>
?
文件運行結果截圖:
轉載于:https://www.cnblogs.com/aishangtaxuefeihong/p/5408436.html
總結
以上是生活随笔為你收集整理的网页版四则运算(未全部完成)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Polar SI9000阻抗计算
- 下一篇: VC++学习(15):多线程