1,设计思想
(1)在java resourse里定义包和类

(2)在类里定义生成算式,并将算式保存在数据库中的方法

(3)在jsp文件中调用java方法

2,源程序代码

生成算式的方法

public void create() {
// TODO Auto-generated method stub
Equation equ=new Equation();
Random ran=new Random();
for(int i=1;i<=1000;i++){
Connection con=DBUtil.getConnection();
equ.setFirstNum(ran.nextInt(0+100));
equ.setSecondNum(ran.nextInt(0+100));
equ.setSymbol(equ.s[ran.nextInt(4)]);
if(i<10)
equ.setId("000"+i);
if(i>=10&&i<100)
equ.setId("00"+i);
if(i>=100&&i<1000)
equ.setId("0"+i);
if(i==1000)
equ.setId("1000");
if(equ.getSymbol()=="+")
equ.setResult(equ.getFirstNum()+equ.getSecondNum());
if(equ.getSymbol()=="-")
equ.setResult(equ.getFirstNum()-equ.getSecondNum());
if(equ.getSymbol()=="*")
equ.setResult(equ.getFirstNum()*equ.getSecondNum());
if(equ.getSymbol()=="/"&&equ.getSecondNum()!=0&&(equ.getFirstNum()%equ.getSecondNum()==0)&&equ.getFirstNum()>=equ.getSecondNum())
equ.setResult(equ.getFirstNum()/equ.getSecondNum());
{
if(equ.getResult()<100&&equ.getResult()>=0){
try{
String sql="insert into equation(id,firstNum,symbol,secondNum,result)values('"+equ.getId()+"','"+equ.getFirstNum()+"','"+equ.getSymbol()+"','"+equ.getSecondNum()+"','"+equ.getResult()+"')";
Statement stmt=con.createStatement();
stmt.executeUpdate(sql);//更新
}catch(SQLException e){
e.printStackTrace();
}finally {
DBUtil.close(con);
}
}
else i--;
}
}
} public String show(){
Equation equ=new Equation();
Connection con=DBUtil.getConnection();
String str ="";
Random ran=new Random();
Statement stmt;
try {
stmt = con.createStatement();
int id1=ran.nextInt(999)+1;
ResultSet rs=stmt.executeQuery("SELECT * FROM equation where id="+id1);
while(rs.next()){
str=rs.getString("id")+" "+rs.getString("firstNum")+rs.getString("symbol")+rs.getString("secondNum")+"=";
}
} catch (SQLException e) { e.printStackTrace();
} return str;
}

  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=ISO-8859-1">
<title>四则运算</title>
</head>
<center>
<body background="D:\图片\动漫\20150422H2607_fKHLB.jpeg">
<%if(request.getAttribute("error1")!=null){
out.print("<script language='javaScript'>alert('题数和时间不能为空'); </script>)");
}
%>
<%if(request.getAttribute("error2")!=null){
out.print("<script language='javaScript'>alert('请正确输入'); </script>)");
}
%>
<center>
<font color="red" size="4" face="楷体">欢迎来到四则运算</font>
</center>
<form action="caculateInput.jsp" method="post">
<table align="center" >
<tr>
<td>
<font face="楷体">请输入出题数目</font>
</td>
<td>
<input type="text" name="number" placeholder="请输入……">
</td>
</tr>
<tr>
<td>
<font face="楷体">请设置做题时间(秒)</font>
</td>
<td>
<input type="text" name="time" placeholder="请输入……">
</td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="开始答题"/>
<input type="reset" value="重置题目数目"/>
</td>
</tr>
</table>
</form>
</body>
</center>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="com.jaovo.msg.Util.showAnswer"%>
<%@page import="com.jaovo.msg.dao.EquationDaoImpl" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String url = "http://localhost:8080/四则运算2/equation/start.jsp"; //设置跳转的地址
int time=Integer.parseInt(request.getParameter("time"));
int number=Integer.parseInt(request.getParameter("number"));
EquationDaoImpl equ=new EquationDaoImpl();
String time1=request.getParameter("time");
String number1=request.getParameter("number");
%>
<%if("".equals(time1.trim())||"".equals(number1.trim())){
request.setAttribute("error1", "题数和时间不能为空");
%>
<jsp:forward page="start.jsp"></jsp:forward>
<%
}
%> <%
if(time<0||number<0){
request.setAttribute("error2", "请正确输入"); %>
<jsp:forward page="start.jsp"></jsp:forward>
<%
}
%>
<html>
<head >
<title>四则运算</title>
<meta http-equiv=refresh content=<%=time %>;url=<%=url %>>
</head>
<body background="D:\图片\新建文件夹\9252150_130954294310_2.jpg" background-size:cover>
<form action="caculate.jsp" method="post">
<table align="center" >
<%
for(int i=0;i<number;i++){
String str=equ.show();
%>
<tr>
<td><%=str.substring(6, str.length()) %></td>
<td>
<input type="text" name="result" placeholder="请输入……" >
</td>
</tr>
<tr>
<td>
<input type="hidden" name="id" value="<%=str.substring(0,4) %>" >
</td>
</tr>
<%
}
%>
<div align="center">
<h3 style=color:red>答题剩余时间:<span id=jump ></span></h3>
<h4><a href="start.jsp" onclick="jumpToIndex()">重新设题</a></h4>
</div>
<tr align="center">
<td colspan="2">
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
<script>
function countDown(secs){
jump.innerText=secs;
if(--secs>0)
setTimeout("countDown("+secs+" )",1000);
if(secs==0)
document.forms[0].submit();
}
countDown(<%=time%>);
function jumpToIndex(){
window.location.href='<%="http://localhost:8080/四则运算2/equation/start.jsp" %>';
}
</script>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.*" %>
<%@page import="com.jaovo.msg.dao.EquationDaoImpl" %>
<!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=ISO-8859-1">
<title>计算结果</title>
</head>
<body background="D:\图片\新建文件夹\9252150_130954294310_2.jpg">
<%
String[] result=request.getParameterValues("result");
String[] id=request.getParameterValues("id");
String[] idNum=new String[100];
int I=0;
for(String i:id){
idNum[I]=i;
I++;
}
String[] RCaculate=new String[100];
int x=0;
String[] WCaculate=new String[100];
int y=0;
String[] KCaculate=new String[100];
int z=0;
I=0;
EquationDaoImpl equDao=new EquationDaoImpl();
for(String str:result){
if(str == null || "".equals(str.trim())){
KCaculate[z]=equDao.show1(idNum[I]);z++;continue;
}
if(equDao.caculate(str,idNum[I]).equals("正确")){
RCaculate[x]=equDao.show1(idNum[I]);x++;
}
if(equDao.caculate(str,idNum[I]).equals("错误")){
WCaculate[y]=equDao.show1(idNum[I]);y++;
}
I++;
}
out.println("正确的数量:"+x);
%>
<br/>
<%
out.print("错误的题目数量:"+y);
%>
<!-- <a href="wrong.jsp">查看错题</a> -->
<br/>
<%
out.print("未答的题目数量:"+z);
%>
<!-- <a href="">查看未答的题目</a> -->
<br/>
<a href="create.jsp">更新题目</a><br/>
<a href="start.jsp">重新计算</a><br/>
<form action="wrong.jsp" method="post">
<table align="center">
<%
for(int i=0;i<y;i++){
%>
<tr>
<td>
<input type="hidden" name="wrong" value="<%=WCaculate[i]%>" >
</td>
</tr>
<%} %>
<%
for(int i=0;i<z;i++){
%>
<tr>
<td>
<input type="hidden" name="kong" value="<%=KCaculate[i]%>" >
</td>
</tr>
<%} %>
<tr>
<input type="submit" value="查看错题和未做的题"/>
</tr>
</table>
</form> </body>
</html>

3,运行结果截图

四则运算1 java+jsp+SQLServer的更多相关文章

  1. javaweb实现教师和教室管理系统 java jsp sqlserver

    1,程序设计思想 (1)设计三个类,分别是工具类(用来写连接数据库的方法和异常类的方法).信息类(用来写存储信息的方法).实现类(用来写各种操作数据库的方法) (2)定义两个jsp文件,一个用来写入数 ...

  2. java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码

    1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...

  3. Atitit  java jsp 新的tag技术

    Atitit  java jsp 新的tag技术 1.1.  Tag Files  vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...

  4. [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题

    相信大家应聘的时候第一关就是笔试,即使是一位很有经验的工程师也不一定能够顺利通过,笔试不好,可能就无法进行面试,即使能够进行面试,考官对你的印象也不会很好,问的问题也会很多,估计很难吃的消,当然如果你 ...

  5. 结对编程--四则运算(Java)萧英杰 夏浚杰

    结对编程--四则运算(Java)萧英杰 夏浚杰 Github项目地址 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目 ...

  6. Java/JSP程序连接不上Mysql驱动问题解决方法

    错误提示: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader$1.run(URLCla ...

  7. Java/JSP获得客户端网卡MAC地址的三种方法解析

    java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...

  8. .NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Ruby/Shell/Agile/CSS/HTML/HTTP/Unix/Linux大量PDF书籍/电子书籍下载, Effective Java 下载

    223本电子书籍,囊括了.NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Shell/A ...

  9. 结对编程--四则运算(Java)梅进鹏 欧思良

    结对编程--四则运算(Java)梅进鹏 欧思良 Github项目地址:https://github.com/MeiJinpen/Arithmetic 功能要求 题目:实现一个自动生成小学四则运算题目的 ...

随机推荐

  1. CentOS7上安装google谷歌浏览器

      1.首先进入根目录,然后进入etc/yum.repos.d目录下,创建google-chrome.repo文件 cd / cd etc/yum.repos.d vim google-chrome. ...

  2. 【XSY2988】取石子

    题目来源:NOI2018模拟测试赛(二十六) 题解: 设a<b: 可以先考虑a=1的特殊情况,注意到后手的最优策略是跟着另外一个人取,取到最后剩余不到$a+b$时再看奇偶性: 那么很容易想到把所 ...

  3. [LeetCode] 860. 柠檬水找零 lemonade-change(贪心算法)

    思路: 收到5块时,只是添加:收到十块时,添加10块,删除一个5块:收到20块时,添加20,删除一个10块一个5块,或者直接删除3个5块(注意:这里先删除5+10优于3个5) class Soluti ...

  4. Eclipse Maven 创建Hello World Web项目

    通过Eclipse创建Maven Web项目的简单步骤 先决条件 (Prerequisites) 1,JDK  environment, 具体的安装JDK的步骤和环境配置一般网上都有,这里就不在赘述. ...

  5. Linux5355端口被0.0.0.0监听

    Linux后台有个systemd-resolv进程,占用5355等端口 博主在一次网络安全加固行动中,netstat -anp发现Linux后台有一个被0.0.0.0监听的端口,5355,显示被sys ...

  6. LaTeX 插图片

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50240371 这里列出3种LaTeX中 ...

  7. SQL SERVER-union

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SELECT 语句中 ...

  8. CODEVS——T 1005 生日礼物

    http://codevs.cn/problem/1005/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  9. 极路由设置共享磁盘密码、跨网访问samba服务

    极路由插上移动硬盘后会自动建立samba服务器,但我们没法去配置哪些盘符需要密码,这样只要在同一个wifi下的电脑都能去访问这些东西了,比较弱智.另外我还想再公司中去读写这个移动硬盘. 设置密码 首先 ...

  10. skimage的安装,scikit-image

    在mac上面的安装: pip install -U scikit-image