
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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>Insert title here</title> </head> <body> <form action="second.jsp" method="post"> 是否进行混合运算:是<input type="radio" name="hunhe" value="y4"><br> 否<input type="radio" name="hunhe" value="n4"><br> <input type="submit" value="提交"> </form> </body> </html>
1.设计思路
1)设计网页
(1).在网页中可以计算四则运算和两个数的加减法,并可以判断结果是否正确,先设置一个网页first.jsp判断是否进行四则运算,将值传到second.jsp,进行选择范围界面,如果不进行四则运算,传到NewFile.jsp界面进行两个数的计算选择界面。两个页面都将选择的值传到NewFile1.jsp界面进行计算,将结果在NewFile2.jsp界面进行判断结果;
(2).网页中单选框放在表单进行传值,在页面中共享的值用session.getAttribute进行传值,并用session设置一个计数器,可实现循环计算并输出计算个数;
2)计算
(1) .用jsp脚本将原四则运算的java文件调用进来,进行四则和两个数计算和判断问题,
(2).四则运算:用栈实现stack1用来存放数,stack2存放符号的,
2.程序代码
first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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>Insert title here</title> </head> <body> <form action="second.jsp" method="post"> 是否进行混合运算:是<input type="radio" name="hunhe" value="y4"><br> 否<input type="radio" name="hunhe" value="n4"><br> <input type="submit" value="提交"> </form> </body> </html>
second.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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>Insert title here</title> </head> <body> <% String hunhe=request.getParameter("hunhe"); session.setAttribute("hunhe", hunhe); if(hunhe.equals("n4")) { %> <jsp:forward page="NewFile.jsp" /> <% } if(hunhe.equals("y4")) { %> <form action="third.jsp" method="post" > 请选择范围:1-10<input type="radio" name="hunhefanwei" value="10"><br> 1-100<input type="radio" name="hunhefanwei" value="100"><br> <input type="submit" value="进行计算" ><br> </form> <% } %> </body> </html>
third.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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>Insert title here</title> </head> <body> <% String chengchu=request.getParameter("chengchu"); String fanwei=request.getParameter("fanwei"); String fushu=request.getParameter("fushu"); String yushu=request.getParameter("yushu"); String hunhefanwei=request.getParameter("hunhefanwei"); session.setAttribute("hunhefanwei", hunhefanwei); session.setAttribute("chengchu", chengchu); session.setAttribute("fanwei", fanwei); session.setAttribute("fushu",fushu); session.setAttribute("yushu", yushu); %> <jsp:forward page="NewFile1.jsp" /> </body> </html>
NewFile.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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>Insert title here</title> </head> <body> <form name="form" method="post" action="third.jsp"> 是否乘除法:是<input type="radio" value="y1" name="chengchu" checked><br> 否<input type="radio" value="n1" name="chengchu"><br> 选择范围:1-10<input type="radio" value="10" name="fanwei" checked> 1-100<input type="radio" value="100" name="fanwei" ><br> 1-200<input type="radio" value="200" name="fanwei"><br> 是否有负数:是<input type="radio" value="y2" name="fushu" checked><br> 否<input type="radio" value="n2" name="fushu"><br> 是否有余数:是<input type="radio" value="y3" name="yushu" checked><br> 否<input type="radio" value="n3" name="yushu"> <br> <input type="submit" value="提交" name="submit"> </form> <%out.println((String)session.getAttribute("hunhe")); %> </body> </html>
NewFile1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.Random" %> <!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>Insert title here</title> </head> <body> <%! class Yunsuan{ private String firstNumber; private String secondNumber; private String number; char fuhao[]={'+','-','*','/'}; private fenshu fen=new fenshu(); public String randomNumber(int i)//求随机数的函数 { Random random=new Random(); int temp=Math.abs(random.nextInt()%2); if(temp==1) { number="("+String.valueOf(Math.abs(random.nextInt()%i))+"/"+String.valueOf(Math.abs(random.nextInt()%i)+")"); } else { int f=random.nextInt(); number=String.valueOf(Math.abs(f%i)); } return number; } public String addtion(int i,String s)//求加法的函数 { firstNumber=randomNumber(i); secondNumber=randomNumber(i); double firstNumberToInteger = 0.0 ; double secondNumberToInteger = 0.0; if(firstNumber.contains("/"))//判断是否为分数,如果是要进行计算成小数便于后边判断是否为负数 { String firstNumberToInteger1=firstNumber.substring(1, firstNumber.indexOf("/")); String firstNumberToInteger2=firstNumber.substring(firstNumber.indexOf("/")+1,firstNumber.length()-1); firstNumberToInteger=(Double.parseDouble(firstNumberToInteger1))/(Double.parseDouble(firstNumberToInteger2)); firstNumber="("+fen.yuefen(firstNumber)+")"; } else { firstNumberToInteger=Double.parseDouble(firstNumber); } if(secondNumber.contains("/"))//同上 { String secondNumberToInteger1=secondNumber.substring(1, secondNumber.indexOf("/")); String secondNumberToInteger2=secondNumber.substring(secondNumber.indexOf("/")+1,secondNumber.length()-1); secondNumberToInteger=(Double.parseDouble(secondNumberToInteger1))/(Double.parseDouble(secondNumberToInteger2)); secondNumber="("+fen.yuefen(secondNumber)+")"; } else { secondNumberToInteger=Double.parseDouble(secondNumber); } if(s.equals("y2")) { return firstNumber+"+"+secondNumber+"="; } if(s.equals("n2")) { double n=firstNumberToInteger+secondNumberToInteger; if(n<0) { return ""; } else { return firstNumber+"+"+secondNumber+"="; } } return ""; } public String subtraction(int i,String s)//求减法的函数 { firstNumber=randomNumber(i); secondNumber=randomNumber(i); firstNumber=randomNumber(i); secondNumber=randomNumber(i); double firstNumberToInteger = 0.0 ; double secondNumberToInteger = 0.0; if(firstNumber.contains("/"))//同加法 { String firstNumberToInteger1=firstNumber.substring(1, firstNumber.indexOf("/")); String firstNumberToInteger2=firstNumber.substring(firstNumber.indexOf("/")+1,firstNumber.length()-1); firstNumberToInteger=(Double.parseDouble(firstNumberToInteger1))/(Double.parseDouble(firstNumberToInteger2)); firstNumber="("+fen.yuefen(firstNumber)+")"; } else { firstNumberToInteger=Double.parseDouble(firstNumber); } if(secondNumber.contains("/"))//同加法 { String secondNumberToInteger1=secondNumber.substring(1, secondNumber.indexOf("/")); String secondNumberToInteger2=secondNumber.substring(secondNumber.indexOf("/")+1,secondNumber.length()-1); secondNumberToInteger=(Double.parseDouble(secondNumberToInteger1))/(Double.parseDouble(secondNumberToInteger2)); secondNumber="("+fen.yuefen(secondNumber)+")"; } else { secondNumberToInteger=Double.parseDouble(secondNumber); } if(s.equals("y2")) { return firstNumber+"-"+secondNumber+"="; } if(s.equals("n2")) { double n=firstNumberToInteger-secondNumberToInteger; if(n<0) { return ""; } else { return firstNumber+"-"+secondNumber+"="; } } return ""; } public String multiplication(int i)//求乘法的函数 { firstNumber=randomNumber(i); secondNumber=randomNumber(i); if(firstNumber.contains("/")) { firstNumber="("+fen.yuefen(firstNumber)+")"; } if(secondNumber.contains("/")) { secondNumber="("+fen.yuefen(secondNumber)+")"; } return firstNumber+"*"+secondNumber+"="; } public String division(int i,String s)//求除法的函数 { firstNumber=randomNumber(i); secondNumber=randomNumber(i); if(firstNumber.contains("/")) { firstNumber="("+fen.yuefen(firstNumber)+")"; } if(secondNumber.contains("/")) { secondNumber="("+fen.yuefen(secondNumber)+")"; } if(s=="y3") { return firstNumber+"/"+secondNumber+"="; } if(s=="n3") { if(firstNumber.contains("/")||secondNumber.contains("/")) { return firstNumber+"/"+secondNumber+"="; } else { if((Integer.parseInt(firstNumber))%(Integer.parseInt(secondNumber))==0) { return firstNumber+"/"+secondNumber+"="; } else { return ""; } } } return ""; } String isOrNotMultiplicationAndDivision(int i,int j,String s1,String s2)//进行运算的函数 { Yunsuan b=new Yunsuan(); String str = null; Random random=new Random(); int k=random.nextInt(); int demp=Math.abs(k%i); switch(fuhao[demp]) { case '+': { str=b.addtion(j,s1); }break; case '-': { str=b.subtraction(j,s1); }break; case '*': { str=b.multiplication(j); }break; case '/': { str=b.division(j,s2); } } return str; } public String[] hunhe(int k) //进行混合运算的函数 { String number[]=new String[16]; Random random=new Random(); int a1; for(int i=0;i<15;i++) { if(i%4==1) { number[i]=String.valueOf(Math.abs(random.nextInt()%k)); } if(i%4==3) { number[i]=String.valueOf(fuhao[Math.abs(random.nextInt()%3)]); } } a1=Math.abs(random.nextInt()%3); number[a1*4]="("; number[(Math.abs(a1+1))*4+2]=")"; number[15]="#"; return number; } } class fenshu//分数计算的类 { public String yuefen(String one)//分数的约分 { int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int temp; if(oneNumber1>=oneNumber2) { temp=oneNumber2; } else { temp=oneNumber1; } for(int i=2;i<=temp;i++) { if(oneNumber1%i==0&&oneNumber2%i==0) { oneNumber1=oneNumber1/i; oneNumber2=oneNumber2/i; temp=temp/i; i=1; } } if(oneNumber2==1) { return String.valueOf(oneNumber1); } else { return (String.valueOf(oneNumber1)+"/"+String.valueOf(oneNumber2)); } } public String jiafa(String one,String two)//分数加法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); if(oneNumber2==twoNumber2) { fenzi=oneNumber1+twoNumber1; fenmu=oneNumber2; } else { fenmu=oneNumber2*twoNumber2; fenzi=oneNumber1*twoNumber2+oneNumber2*twoNumber1; } return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public String jianfa(String one,String two)//分数减法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); if(oneNumber2==twoNumber2) { fenzi=oneNumber1-twoNumber1; fenmu=oneNumber2; } else { fenmu=oneNumber2*twoNumber2; fenzi=oneNumber1*twoNumber2-oneNumber2*twoNumber1; } return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public String chengfa(String one,String two)//分数的乘法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); fenzi=oneNumber1*twoNumber1; fenmu=oneNumber2*twoNumber2; return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public String chufa(String one,String two)//分数的除法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); fenzi=oneNumber1*twoNumber2; fenmu=oneNumber2*twoNumber1; return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public int stringtoInteger1(String s)//数与字符串转换 { if(s.contains("(")) {} else { s="("+s+")"; } String oneNumberToInteger1=s.substring(1, s.indexOf("/")); int oneNumber1=Integer.parseInt(oneNumberToInteger1); return oneNumber1; } public int stringtoInteger2(String s) { if(s.contains("(")) {} else { s="("+s+")"; } String oneNumberToInteger2=s.substring(s.indexOf("/")+1,s.length()-1); int oneNumber2=Integer.parseInt(oneNumberToInteger2); return oneNumber2; } } %> <% //主函数进行运算; //..............获取表单数据; String chengchu=(String)session.getAttribute("chengchu"); String fanwei=(String)session.getAttribute("fanwei"); String fushu=(String)session.getAttribute("fushu"); String yushu=(String)session.getAttribute("yushu"); String hunhe=(String)session.getAttribute("hunhe"); String hunhefanwei=(String)session.getAttribute("hunhefanwei"); String temp; Yunsuan a=new Yunsuan(); if(hunhe.equals("n4")) { if(chengchu.equals("y1")) { temp=a.isOrNotMultiplicationAndDivision(4,Integer.parseInt(fanwei),fushu,yushu); while(temp=="") { temp=a.isOrNotMultiplicationAndDivision(4,Integer.parseInt(fanwei),fushu,yushu); } out.println(temp); //..............将数据上传服务器,进行页面共享数据; %> <form action="NewFile2.jsp" method="post" name="form"> <input type="hidden" name="temp" value=<%=temp %>> <input type="text" name="input1"> <input type="submit" value="提交"> </form> <% Integer jishu=(Integer)session.getAttribute("jishu"); if(jishu==null) { jishu=1; } else { jishu++; } session.setAttribute("jishu", jishu); } if(chengchu.equals("n1")) { temp=a.isOrNotMultiplicationAndDivision(2,Integer.parseInt(fanwei),fushu,yushu); while(temp=="") { temp=a.isOrNotMultiplicationAndDivision(4,Integer.parseInt(fanwei),fushu,yushu); } out.println(temp); Integer jishu=(Integer)session.getAttribute("jishu"); if(jishu==null) { jishu=1; } else { jishu++; } session.setAttribute("jishu", jishu); %> <!-- 进行提交所计算答案的表单 --> <form action="NewFile2.jsp" method="post" name="form"> <input type="hidden" name="temp" value=<%=temp %>> <input type="text" name="input1"> <input type="submit" value="提交"> </form> <% } } if(hunhe.equals("y4")) { String number[]=new String[16]; number=a.hunhe(Integer.parseInt(hunhefanwei)); for(int j=0;j<16;j++) { if(number[j]==null||number[j]=="#") { out.print(""); } else { out.print(number[j]); } session.setAttribute("number"+String.valueOf(j),number[j]); } Integer jishu=(Integer)session.getAttribute("jishu"); if(jishu==null) { jishu=1; } else { jishu++; } session.setAttribute("jishu", jishu); %> <!-- 进行提交混合运算所计算答案的表单 --> <form action="NewFile2.jsp" method="post"> <input type="text" name="input2"><br> <input type="submit" value="提交"><br> </form> <% } %> </body> </html>
NewFile2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.Stack" %> <!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>Insert title here</title> </head> <body> <%! class Check { public boolean check(String s,String input)//判断正确的函数 { fenshu fen=new fenshu(); int time1=0,time2=0; char cha[]=s.toCharArray(); for(int i=0;i<cha.length;i++) { if(cha[i]=='/') { time1++; } if(cha[i]=='(') { time2++; } } if(s.contains("+"))//判断加法计算是否正确 { String oneNumber=s.substring(0, s.indexOf("+")); String twoNumber=s.substring(s.indexOf("+")+1,s.length()-1); if(oneNumber.contains("/")) { } else { oneNumber="("+oneNumber+"/1)"; } if(twoNumber.contains("/")) {} else { twoNumber="("+twoNumber+"/1)"; } if(fen.yuefen(fen.jiafa(oneNumber, twoNumber)).equals(input)) { // System.out.println("结果正确!"); return true; } else { //System.out.println("结果错误!"); return false; } } if(s.contains("-"))//判断减法计算是否正确 { String oneNumber=s.substring(0, s.indexOf("-")); String twoNumber=s.substring(s.indexOf("-")+1,s.length()-1); if(oneNumber.contains("/")) { } else { oneNumber="("+oneNumber+"/1)"; } if(twoNumber.contains("/")) {} else { twoNumber="("+twoNumber+"/1)"; } if(fen.yuefen(fen.jianfa(oneNumber, twoNumber)).equals(input )) { // System.out.println("结果正确!"); return true; } else { //System.out.println("结果错误!"); return false; } } if(s.contains("*"))//判断乘法计算是否正确 { String oneNumber=s.substring(0, s.indexOf("*")); String twoNumber=s.substring(s.indexOf("*")+1,s.length()-1); if(oneNumber.contains("/")) { } else { oneNumber="("+oneNumber+"/1)"; } if(twoNumber.contains("/")) {} else { twoNumber="("+twoNumber+"/1)"; } if(fen.yuefen(fen.chengfa(oneNumber, twoNumber)).equals(input)) { //System.out.println("结果正确!"); return true; } else { //System.out.println("结果错误!"); return false; } } if(time1>time2)//判断除法计算是否正确 { char ch[]=s.toCharArray(); int time=0; for(int i=0;i<s.length();i++) { if(ch[i]=='/') { time++; } if(time==2) { String oneNumber=s.substring(0, i); String twoNumber=s.substring(i+1,s.length()-1); if(oneNumber.contains("/")) { } else { oneNumber="("+oneNumber+"/1)"; } if(twoNumber.contains("/")) {} else { twoNumber="("+twoNumber+"/1)"; } if(fen.yuefen(fen.chufa(oneNumber, twoNumber)).equals(input)) { //System.out.println("结果正确!"); return true; } else { //System.out.println("结果错误!"); return false; } }break; } } return false; } public int hunhecheck(String[] number,String r) { String str; Stack<String> stack1=new Stack<String>(); Stack<String> stack2=new Stack<String>(); for(int i=0;i<16;i++) { str=number[i]; if(str==null) { continue; } if(str!="#") { switch(str) { case "(": { stack2.push(str); }break; case ")": { while(stack2.peek()!="(") { String str2=stack2.pop(); stack1.push(str2); } stack2.pop(); }break; case "+": { if(stack2.empty()==false) { while(stack2.empty()==false&&stack2.peek()!="(") { String str2=stack2.pop(); stack1.push(str2); } } stack2.push(str); }break; case "-": { if(stack2.empty()==false) { while(stack2.empty()==false&&stack2.peek()!="(") { String str2=stack2.pop(); stack1.push(str2); } } stack2.push(str); }break; case "*": { if(stack2.empty()==false) { while((stack2.peek()=="*"||stack2.peek()=="*")&&stack2.empty()==false&&stack2.peek()!="(") { String str2=stack2.pop(); stack1.push(str2); } } stack2.push(str); }break; case "/": { if(stack2.empty()==false) { while((stack2.peek()=="*"||stack2.peek()=="*")&&stack2.empty()==false&&stack2.peek()!="(") { String str2=stack2.pop(); stack1.push(str2); } } stack2.push(str); }break; default: { if(str!="#") { stack1.push(str); } } } } if(str=="#") { break; } } while(stack2.empty()==false) { stack1.push(stack2.pop()); } Stack<String> stack3=new Stack<String>(); while(stack1.empty()==false) { String str1=stack1.pop(); stack3.push(str1); } while(stack3.empty()==false) { String a2,a3; String a1=stack3.pop(); switch(a1) { case "+": { a2=stack1.pop(); a3=stack1.pop(); stack1.push(String.valueOf(Integer.parseInt(a2)+Integer.parseInt(a3))); }break; case "-": { a2=stack1.pop(); a3=stack1.pop(); stack1.push(String.valueOf(Integer.parseInt(a3)-Integer.parseInt(a2))); }break; case "*": { a2=stack1.pop(); a3=stack1.pop(); stack1.push(String.valueOf(Integer.parseInt(a2)*Integer.parseInt(a3))); }break; default: { stack1.push(a1); } } } String reasult=stack1.pop(); int bool; if(r.equals(reasult)) { bool=1; } else { bool=0; } return bool; /* String str[]=new String[16]; for(int i=0;i<16;i++) { str[i]=number[i]; } return str;*/ } } class fenshu//分数计算的类 { public String yuefen(String one)//分数的约分 { int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int temp; if(oneNumber1>=oneNumber2) { temp=oneNumber2; } else { temp=oneNumber1; } for(int i=2;i<=temp;i++) { if(oneNumber1%i==0&&oneNumber2%i==0) { oneNumber1=oneNumber1/i; oneNumber2=oneNumber2/i; temp=temp/i; i=1; } } if(oneNumber2==1) { return String.valueOf(oneNumber1); } else { return (String.valueOf(oneNumber1)+"/"+String.valueOf(oneNumber2)); } } public String jiafa(String one,String two)//分数加法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); if(oneNumber2==twoNumber2) { fenzi=oneNumber1+twoNumber1; fenmu=oneNumber2; } else { fenmu=oneNumber2*twoNumber2; fenzi=oneNumber1*twoNumber2+oneNumber2*twoNumber1; } return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public String jianfa(String one,String two)//分数减法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); if(oneNumber2==twoNumber2) { fenzi=oneNumber1-twoNumber1; fenmu=oneNumber2; } else { fenmu=oneNumber2*twoNumber2; fenzi=oneNumber1*twoNumber2-oneNumber2*twoNumber1; } return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public String chengfa(String one,String two)//分数的乘法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); fenzi=oneNumber1*twoNumber1; fenmu=oneNumber2*twoNumber2; return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public String chufa(String one,String two)//分数的除法计算 { int fenzi,fenmu; int oneNumber1=stringtoInteger1(one); int oneNumber2=stringtoInteger2(one); int twoNumber1=stringtoInteger1(two); int twoNumber2=stringtoInteger2(two); fenzi=oneNumber1*twoNumber2; fenmu=oneNumber2*twoNumber1; return (String.valueOf(fenzi)+"/"+String.valueOf(fenmu)); } public int stringtoInteger1(String s)//数与字符串转换 { if(s.contains("(")) {} else { s="("+s+")"; } String oneNumberToInteger1=s.substring(1, s.indexOf("/")); int oneNumber1=Integer.parseInt(oneNumberToInteger1); return oneNumber1; } public int stringtoInteger2(String s) { if(s.contains("(")) {} else { s="("+s+")"; } String oneNumberToInteger2=s.substring(s.indexOf("/")+1,s.length()-1); int oneNumber2=Integer.parseInt(oneNumberToInteger2); return oneNumber2; } } %> <% String s2=request.getParameter("input2"); Check c=new Check(); String number[]=new String[16]; String hunhe=(String)session.getAttribute("hunhe"); if(hunhe.equals("y4")) { for(int j=0;j<16;j++) { number[j]=(String)session.getAttribute("number"+String.valueOf(j)); } int a=c.hunhecheck(number, s2); if(a==1) { out.println("结果正确!"); } if(a==0) { out.println("结果错误!"); } Integer i=(Integer)session.getAttribute("jishu"); out.println("这是第"+i+"次运算"); } if(hunhe.equals("n4")) { String temp=request.getParameter("temp"); String s1=request.getParameter("input1"); if(c.check(temp,s1)==true) { out.println("结果正确!"); } if(c.check(temp,s1)==false) { out.println("结果错误!"); } Integer i=(Integer)session.getAttribute("jishu"); out.println("这是第"+i+"次运算"); } %> <form action="NewFile1.jsp" method="post"> <input type="submit" value="返回"> </form> </body> </html>
3.运行结果
4
1.项目计划总结
.
2.时间记录日志
3.缺陷记录日志