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. zabbix-server端监控MySQL服务

    Zabbix 监控MySQL数据库 为server.zabbix,com 添加服务模块 创建MySQL服务图形 Server.zabbix.com 服务器操作 [root@server ~]# cd ...

  2. linux C++ 编译错误 file not found 其实是原文件后缀的问题

    gcc和clang会根据源文件的后缀.c或者.cpp判断原文件类型,采取不同的编译策略,所以我使用它们编译后缀是.c的C++原文件的时候会出现找不到include的文件的错误,使用正确的后缀名即可.同 ...

  3. iOS开发——GPUImage源码解析

    一.基本概念 GPUImage:一个开源的.基于openGL的图片或视频的处理框架,其本身内置了多达120多种常见的滤镜效果,并且支持照相机和摄像机的实时滤镜,并且能够自定义图像滤镜.同时也很方便在原 ...

  4. debian 9 配置ati驱动

    可以参考debian wiki 1.识别自己显卡驱动 lspci -nn | grep VGA 2.添加源 # Debian "stretch" deb http://httpre ...

  5. Vue父子组件之间的通讯(学习笔记)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 洛谷—— P1260 工程规划

    https://www.luogu.org/problem/show?pid=1260 题目描述 造一幢大楼是一项艰巨的工程,它是由n个子任务构成的,给它们分别编号1,2,…,n(5≤n≤1000). ...

  7. 使用Modernizr检测支持CSS3

    使用Modernizr检测支持CSS3 如果支持某个属性,会增加一个class,名字就是该属性: 不支持,名字是no-某属性 还提供了一个全局Modernizr对象,使用如下: <script ...

  8. hdu 1722 Cake 数学yy

    题链:http://acm.hdu.edu.cn/showproblem.php? pid=1722 Cake Time Limit: 1000/1000 MS (Java/Others)    Me ...

  9. 更换oracle 集群网卡(Changing a Network Interface)

     更换oracle 集群网卡(Changing a Network Interface) 假设换网卡前后 网卡名.ip,网关,子网掩码都不变的话,集群层面不许要做额外的操作. 一下操作为更换网卡后 ...

  10. C 语言运算符优先级(记忆口诀)

    优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数名(形參表)   . 成员选择(对象) 对象.成员名   -& ...