四则运算
package fo.dao; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import fo.domin.data; public class foDao { public static void main(String[] args) { // data data=getData(9); // System.out.println(data.toString()); // generate(90); } public static void generate(int number){ Connection con=null; PreparedStatement psts=null; try { con=JDBCUtils.getConnection(); for(int i=1;i<=number;i++){ String sql="INSERT INTO fooperation VALUES(?,?,?,?,?)"; psts=con.prepareStatement(sql); int random=(int)(Math.random()*4); String symbol=""; int digital1=(int)(Math.random()*100); int digital2=(int)(Math.random()*100); int result=0; switch(random){ case 0: result=digital1+digital2; while(result>100){ digital1=(int)(Math.random()*100); digital2=(int)(Math.random()*100); result=digital1+digital2; } symbol="+"; break; case 1: result=digital1-digital2; while(digital1-digital2<0){ digital1=(int)(Math.random()*100); digital2=(int)(Math.random()*100); result=digital1-digital2; } symbol="-"; break; case 2: result=digital1*digital2; while(digital1*digital2>100){ digital1=(int)(Math.random()*100); digital2=(int)(Math.random()*100); result=digital1*digital2; } symbol="*"; break; case 3: digital2=(int)(Math.random()*100)+1; while(digital1%digital2!=0||digital1<digital2){ digital1=(int)(Math.random()*100); digital2=(int)(Math.random()*100)+1; result=digital1/digital2; } symbol="/"; break; } psts.setInt(1, i); psts.setString(2, symbol); psts.setInt(3, digital1); psts.setInt(4, digital2); psts.setInt(5, result); psts.executeUpdate(); } }catch(RuntimeException e){ e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ try{ if(psts!=null){ psts.close(); } if(con!=null){ con.close(); } } catch(SQLException e){ e.printStackTrace(); } } } public static data getData(int number){ Connection con=null; PreparedStatement psts=null; ResultSet rs=null; try{ con=JDBCUtils.getConnection(); String sql="SELECT * FROM fooperation WHERE number=?"; psts=con.prepareStatement(sql); psts.setInt(1, number); rs=psts.executeQuery(); if(rs==null){ return null; } if(rs.next()){ data datas=new data(); datas.setNumber(number); datas.setSymbol(rs.getString("symbol")); datas.setDigital1(rs.getInt("digital1")); datas.setDigital2(rs.getInt("digital2")); datas.setResult(rs.getInt("result")); return datas; } else { return null; } } catch(Exception e){ e.printStackTrace(); } finally{ try{ if(psts!=null){ psts.close(); } if(con!=null){ con.close(); } } catch(SQLException e){ e.printStackTrace(); } } return null; } }
package fo.dao; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class JDBCUtils { public static Properties props=null; static { try{ InputStream in=JDBCUtils.class.getResourceAsStream("dbconfig.properties"); props=new Properties(); props.load(in); } catch(IOException e){ throw new RuntimeException(); } try { Class.forName(props.getProperty("driverClassName")); } catch (ClassNotFoundException e) { throw new RuntimeException(); } } public static Connection getConnection() throws IOException, ClassNotFoundException, SQLException{ return DriverManager.getConnection(props.getProperty("url"),props.getProperty("username"),props.getProperty("password")); } }
package fo.domin; public class data { private int number; private String symbol; private int digital1; private int digital2; private int result; public data() { super(); // TODO Auto-generated constructor stub } public data(int number, String symbol, int digital1, int digital2, int result) { super(); this.number = number; this.symbol = symbol; this.digital1 = digital1; this.digital2 = digital2; this.result = result; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public String getSymbol() { return symbol; } public void setSymbol(String symbol) { this.symbol = symbol; } public int getDigital1() { return digital1; } public void setDigital1(int digital1) { this.digital1 = digital1; } public int getDigital2() { return digital2; } public void setDigital2(int digital2) { this.digital2 = digital2; } public int getResult() { return result; } public void setResult(int result) { this.result = result; } @Override public String toString() { return "data [number=" + number + ", symbol=" + symbol + ", digital1=" + digital1 + ", digital2=" + digital2 + ", result=" + result + "]"; } }
package fo.service; import fo.dao.foDao; import fo.domin.data; public class foService { private foDao userdao=new foDao(); public void generate(int number){ userdao.generate(number); } public data getData(int number){ data data=userdao.getData(number); return data; } public boolean judge(data form){ data data=userdao.getData(form.getNumber()); int correctResult=data.getResult(); int formResult=form.getResult(); if(correctResult==formResult){ return true; } else return false; } }
package fo.service; public class myException extends Exception { public myException() { super(); // TODO Auto-generated constructor stub } public myException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); // TODO Auto-generated constructor stub } public myException(String message, Throwable cause) { super(message, cause); // TODO Auto-generated constructor stub } public myException(String message) { super(message); // TODO Auto-generated constructor stub } public myException(Throwable cause) { super(cause); // TODO Auto-generated constructor stub } }
package fo.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import fo.domin.data; import fo.service.foService; public class displayServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { foService foservice=new foService(); String num=(String)request.getSession().getAttribute("number"); int number=Integer.parseInt(num); for(int i=1;i<=number;i++){ data form=new data(); form.setResult(Integer.parseInt((String)request.getParameter("result"+i))); form.setNumber(i); request.getSession().setAttribute("form"+i, form); boolean resultMasg=foservice.judge(form); if(resultMasg){request.getSession().setAttribute("masg"+i, "正确");} else {request.getSession().setAttribute("masg"+i, "错误");} } request.getRequestDispatcher("/resultPage.jsp").forward(request, response); } }
package fo.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import fo.domin.data; import fo.service.foService; public class enterServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { foService foservice=new foService(); String number=request.getParameter("number"); int num=Integer.parseInt(number); request.getSession().setAttribute("number", number); foservice.generate(num); for(int i=1;i<=num;i++){ data data= foservice.getData(i); request.getSession().setAttribute("data"+i, data); } request.getRequestDispatcher("/display.jsp").forward(request, response); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page isELIgnored="false" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="java.sql.*" %> <%@ page import="fo.domin.*" %> <!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="<c:url value='displayServlet'/>" method="post"> <% String number=(String)session.getAttribute("number"); int num=Integer.parseInt(number); for(int i=1;i<=num;i++){ data data=new data(); data=(data)session.getAttribute("data"+i); out.print(data.getDigital1()+data.getSymbol()+data.getDigital2()+"="); %> <input type="text" οnkeyup="this.value=this.value.replace(/\D/g,'')" name="result<%=i%>"/><br/> <%} %> <input type="submit" value="提交"/> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page isELIgnored="false" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!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="<c:url value='enterServlet'/>" method="post"> 请输入题目数量:<input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" name="number"/> <input type="submit" value="提交"/> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page isELIgnored="false" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="java.sql.*" %> <%@ page import="fo.domin.*" %> <!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 number=(String)session.getAttribute("number"); int num=Integer.parseInt(number); for(int i=1;i<=num;i++){ data data=new data(1,"+",2,3,5); data=(data)session.getAttribute("data"+i); data form=new data(1,"+",2,3,5); form=(data)session.getAttribute("form"+i); String correctResult=(String)session.getAttribute("masg"+i); out.println(data.getDigital1()+data.getSymbol()+data.getDigital2()+"="+form.getResult()+" 答案"+correctResult); %> <br/> <%} %> </body> </html>