设计思路:

1需要的工具以及实现这个算法和代码的事先条件。

(1)sql server里面建议一个叫t_result的表)(当然你起什么名字都可以),里面输入所需要的列名。id,firstnumber,secondnumber,thirdnumber,operator,result。

(2)eslisp 导入jdbc包(自己去百度找,谢谢.),连接数据库需要。

(3)导入jsp的包。

2思路:

1.连接数据库,并实现增删改查。

2 设计一个随机生成计算式的函数方法。

3 jsp页面设计4个,第一个界面输入时间以及题目数,第二个界面利用for循环,进行输入次数的随机生成计算式存入数据库,第三个界面进行遍历输入数据库中的所有计算式,在列表里面输出。

代码参上:

1连接数据库(sql server的)

package com.gao.msg.Utli;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DBUtil {
public static Connection getConnection()
{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} //try
catch (InstantiationException | IllegalAccessException | ClassNotFoundException e)
{
e.printStackTrace();
}//catch
String user="sa";
String password="123456";
String url="jdbc:sqlserver://localhost:1433;DatabaseName=Text";
Connection connection =null;
try {
connection=DriverManager.getConnection(url, user, password);
} //try
catch (SQLException e) {
e.printStackTrace();
}//catch
return connection;
}//connection
public static void close(Connection connection)
{
try {
if(connection!=null)
{
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}//close connection
public static void close(PreparedStatement preparedStatement)
{
try {
if(preparedStatement!=null)
{
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}//close preparedStatement public static void close(ResultSet resultSet)
{
try {
if(resultSet!=null)
{
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}//class

  2 增删改查:

(1)接口类。

package com.gao.msg.Dao;

import java.util.List;

import com.gao.msg.model.User;

public interface IUserDao {
public void add(User user);
public void delete(int id);
public int load(int id);
public List<User> load();

}

  2实现类:

package com.gao.msg.Dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import com.gao.msg.Utli.DBUtil;
import com.gao.msg.model.User; public class UserDaoImpl implements IUserDao { @Override
public void add(User user) //添加
{
Connection connection=DBUtil.getConnection();
String sql="insert into t_result (id,firstnumber,secondnumber,thirdnumber,result,operator) values(?,?,?,?,?,?)";
PreparedStatement preparedStatement=null;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, user.getId());
preparedStatement.setInt(2, user.getFirstnumber());
preparedStatement.setInt(3, user.getSecondnumber());
preparedStatement.setInt(4, user.getThirdnumber());
preparedStatement.setInt(5, user.getResult());
preparedStatement.setString(6, user.getOperator());
preparedStatement.executeUpdate();
}//try
catch (SQLException e)
{
e.printStackTrace();
}//catch
finally
{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}//finally }//add
public void delete(int id)//删除
{
Connection connection=DBUtil.getConnection();
String sql="delete from t_result where id=?";
PreparedStatement preparedStatement=null;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
} //try
catch (SQLException e)
{
e.printStackTrace();
}//catch
finally
{
DBUtil.close(connection);
DBUtil.close(preparedStatement);
}//finally
}//delete
public int load(int id)
{
Connection connection=DBUtil.getConnection();
String sql="select * from t_result where id = ?";
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
int result=0;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
resultSet=preparedStatement.executeQuery();
while(resultSet.next())
{
result=resultSet.getInt("result");
}//while
} //try
catch (SQLException e)
{
e.printStackTrace();
}//catch
finally
{
DBUtil.close(connection);
DBUtil.close(preparedStatement);
}//finally
return result;
}//load
public List<User> load() {
Connection connection = DBUtil.getConnection();
//准备sql语句
String sql = "select * from t_result";
//创建语句传输对象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//集合中只能放入user对象
List<User> users = new ArrayList<User>();
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setId(resultSet.getInt("id"));
user.setFirstnumber(resultSet.getInt("firstnumber"));
user.setSecondnumber(resultSet.getInt("secondnumber"));
user.setThirdnumber(resultSet.getInt("thirdnumber"));
user.setResult(resultSet.getInt("result"));
user.setOperator(resultSet.getString("operator"));
users.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return users;
} }//class

  生成随机算式的方法:

(1)随机数生成:

package com.gao.msg.faction;

import java.util.Random;
class Romdomnumber {
public int randomunmber(int number)
{
Random random=new Random();
int b=random.nextInt(number);
return b;
}//Randomnumber }

  (2)利用随机数生成算式:

package com.gao.msg.faction;

import com.gao.msg.Dao.UserDaoImpl;
import com.gao.msg.model.User; public class yunsuan
{
int firstnumber;
int secondnumber;
int thirdnumber;
int operator;
int panduan;
UserDaoImpl userdao=new UserDaoImpl();
public void xfaction(int id)
{
Romdomnumber xromdomnumber=new Romdomnumber();
User user=new User();
operator=xromdomnumber.randomunmber(4)+1;
if(operator==1)
{
user.setId(id);
user.setOperator("+");
while(true){
firstnumber=xromdomnumber.randomunmber(101);
secondnumber=xromdomnumber.randomunmber(101);
panduan=xromdomnumber.randomunmber(2);
if(panduan==0)
{
thirdnumber=xromdomnumber.randomunmber(101);
}//if
else
{
thirdnumber=0;
}//else
if((firstnumber+secondnumber+thirdnumber)<=100)
{
break;
}//if
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(thirdnumber);
user.setResult(firstnumber+secondnumber+thirdnumber);
}//if(operator==1)
else if(operator==2)
{
user.setId(id);
user.setOperator("-");
while(true){
firstnumber=xromdomnumber.randomunmber(101);
secondnumber=xromdomnumber.randomunmber(101);
panduan=xromdomnumber.randomunmber(2);
if(panduan==0)
{
thirdnumber=xromdomnumber.randomunmber(101);
}//if
else
{
thirdnumber=0;
}//else
if((firstnumber-secondnumber-thirdnumber)>0)
{
break;
}//if
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(thirdnumber);
user.setResult(firstnumber-secondnumber-thirdnumber);
}//if(operator==2)
else if(operator==3)
{
user.setId(id);
user.setOperator("×");
firstnumber=xromdomnumber.randomunmber(11);
secondnumber=xromdomnumber.randomunmber(11);
while(true)
{
if((firstnumber*secondnumber)<=100)
{
break;
}
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(0);
user.setResult(firstnumber*secondnumber);
}//if(operator==3)
else
{
user.setId(id);
user.setOperator("÷");
while(true)
{
firstnumber=xromdomnumber.randomunmber(101);
secondnumber=xromdomnumber.randomunmber(10)+1;
if((firstnumber%secondnumber)==0)
{
break;
}//if
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(0);
user.setResult(firstnumber/secondnumber);
}//if(operator==4)
userdao.add(user);
}//xfaction }//yunsuan

  User类,用来储存各种数据:

package com.gao.msg.model;

public class User {
private int id;
private int firstnumber;
private int secondnumber;
private int thirdnumber;
private String operator;
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public int getFirstnumber() {
return firstnumber;
}
public void setFirstnumber(int firstnumber) {
this.firstnumber = firstnumber;
}
public int getSecondnumber() {
return secondnumber;
}
public void setSecondnumber(int secondnumber) {
this.secondnumber = secondnumber;
}
public int getThirdnumber() {
return thirdnumber;
}
public void setThirdnumber(int thirdnumber) {
this.thirdnumber = thirdnumber;
}
private int result;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
}

  jsp的输入页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTf-8"
pageEncoding="UTf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTf-8">
<title>选择界面</title>
<style type="text/css">
<!--
.STYLE2 {color: #0000FF}
.STYLE3 {color: #FFFF00}
-->
</style>
</head>
<body background=C:\Users\111\Pictures\22.jpg>
<form action="select.jsp" >
<table width="400" height="189" border="1" align="center">
<tr align="center" > </tr>
<tr align="center">
<td align="left" bgcolor="#CCE8CF"><span class="STYLE2">请输入出题数</span></td>
<td><input type="text" name="num2"/></td>
</tr>
<tr align="center">
<td align="left"><span class="STYLE3">请输入答题时间</span></td>
<td><input type="text" name="num"/>
</td>
</tr>
<tr align="center">
<td colspan="2"><input name="submit" type="submit" value="确定" />
</td>
</tr>
</table>
</form>
</body>
</html>

  题目生成:

<%@page import="com.gao.msg.faction.yunsuan"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <%
String number=request.getParameter("number");
int num=Integer.parseInt(request.getParameter("num"));
yunsuan yun=new yunsuan();
int i=0;
for(i=1;i<=num;i++)
{
yun.xfaction(i);
}//for
response.sendRedirect("list.jsp");
%> </html>

  题目列表:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page import="java.util.List"%>
<%@page import="com.gao.msg.Dao.UserDaoImpl"%>
<%@page import="com.gao.msg.model.User"%>
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>习题</title>
<style type="text/css">
<!--
.STYLE3 {
font-family: "宋体";
font-size: 24px;
}
body {
background:C:\Users\111\Pictures\333.jpg;
}
-->
</style>
</head> <%
UserDaoImpl userDao=new UserDaoImpl();
List<User> users = userDao.load();
%>
<body background="C:\Users\111\Pictures\333.jpg">
<form action="judge.jsp">
<table align="left" border="1" width="464">
<tr>
<td width="216" height="70" bgcolor="#FFCC33">题目</td>
<td width="232" bgcolor="#CC6699">请输入结果</td>
</tr>
<% int ni=0;
for( User user : users ){
%>
<tr>
<td height="96" bgcolor="#00FF00"> <span class="STYLE3"><%=user.getFirstnumber()%>
<%=user.getOperator()%>
<%=user.getSecondnumber()%>
<%if(user.getThirdnumber()!=0){%>
<%=user.getOperator()%>
<%=user.getThirdnumber() %>
<%} %>
=</span></td>
<td bgcolor="#0066FF">
<% ni=ni+1; %>
<input type="text" name="<%=ni%>"/>
</td>
</tr>
<%
}
%>
<tr align="center">
<td height="91" colspan="2" bgcolor="#FF0000">
<input type="submit" value="确定提交" />
</td>
</tr>
</table>

</form>
</body>
</html>

  结果输出:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page import="org.apache.coyote.http11.NpnHandler"%>
<%@page import="java.util.List"%>
<%@page import="com.gao.msg.Dao.UserDaoImpl"%>
<%@page import="com.gao.msg.model.User"%>
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试结果</title>
<style type="text/css">
.container{font-family:宋体;font-size:18px;font-weight:bold;width:720px;}
H1{font-family:宋体;font-size:44px;color:#B22222;letter-spacing:12px;}
ul{list-style-type:none;margin:0;padding:0;overflow:hidden;}
</style>
</head>
<body background=C:\Users\111\Pictures\777.jpg>
<%
UserDaoImpl UserDao=new UserDaoImpl();
List<User> users = UserDao.load();
int m=0;int n=0;int stm=0;
for( User user : users ){
m=m+1;
}
%>
<%
for(n=1;n<=m;n++)
{
String x=Integer.toString(n);
int id=-2;
String y=request.getParameter(x);
if(y==null||"".equals(y))
{ id=-1;}
else
{ id = Integer.parseInt(y);}
if(id==UserDao.load(n))
{
stm=stm+1;
System.out.println(stm);
}
}
%>
<h1 align="center">总题数:<%=m %>题</h1> <h1 align="center">答对:<%=stm %>题</h1>
<%
for(User user : users )
{
int id=user.getId();
UserDao.delete(id);
}
%>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<a href="InputTitle.jsp" >继续答题</a>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>

  运行结果:

java+jsp+sql server实现网页版四则运算.的更多相关文章

  1. SQL Server 2016正式版安装(超多图)

    微软数据库SQL Server 2016正式版在2016年6月就发布,由于近期工作忙,一直拖到现在才有时间把安装过程写到博客上,分享给大家.本人一直习惯使用英文版,所以版本和截图都是英文版的.废话少说 ...

  2. win7 安装SQL Server 2005 开发版 图文教程

    转自win7 安装SQL Server 2005 开发版 图文教程 ----------------------------写在安装前------------------------------ 一. ...

  3. Windows XP系统安装SQL Server 2005(开发版)图解

    转自Windows XP系统安装SQL Server 2005(开发版)图解 安装前提:由于有些从网上的下载的项目需要导入SQL Server 2005的数据文件,因此,今天便安装了这个数据库,我的系 ...

  4. Sql Server 2005 开发版亲測可用下载地址

    sqlserver2005开发版下载地址:http://222.132.81.146/rj/cs_sql_2005_dev_all_dvd.rar建议使用迅雷下载. sql server 2005 开 ...

  5. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  6. Sql Server 2008开发版(Developer Edition)过期升级企业版(Enterprise Edition)失败后安装学习版(Express Edition)

    最近一个多月,甚是悠哉,无事可做.上线的网站系统也没接到客户的反馈,反而觉得无聊之极了.上周五早上,一上QQ,就收到客户发来消息,管理平台无法登陆了.心里一惊,立马开始查找故障原因.翻看了系统日志,提 ...

  7. jTDS Java连接SQL Server 2000数据库

    Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...

  8. Java 链接SQL Server 数据库

    1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...

  9. JAVA 连接 SQL Server 2008:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

    新项目需要修改Java开发的MES系统...Java忘的也差不多了...简单尝试以下JAVA连接SQL Server吧,没想到坑还是很多的.以前直接连oracle时没有这么多麻烦啊....可能微软和o ...

随机推荐

  1. [extjs(1)]MyEclipse2014安装ext4插件Spket

    1 解压好的Spket目录如下 2  建议以link方式安装Spket到MyEclipse中 找到MyEclipse的安装目录 如 3  在MyEclipse 的根目录新建一个目录extjs 当然也可 ...

  2. Java并发编程之显式锁机制

    我们之前介绍过synchronized关键字实现程序的原子性操作,它的内部也是一种加锁和解锁机制,是一种声明式的编程方式,我们只需要对方法或者代码块进行声明,Java内部帮我们在调用方法之前和结束时加 ...

  3. uploadify 配置后,页面显示无效果

    uploadify使用的是Flash版本 谷歌浏览器:默认没有开启Flash,进行如下图设置即可

  4. IIC接口下的24C02 驱动分析

    本节来学习IIC接口下的24C02 驱动分析,本节学完后,再来学习Linux下如何使用IIC操作24C02 1.I2C通信介绍 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据,是一个多 ...

  5. 蓝桥杯-算法训练--ALGO-5 最短路

    问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从1号点到其他点的最短路(顶点从1到n编号). 输入格式 第一行两个整数n, m. 接下来的m行,每行有三个 ...

  6. [置顶]【实用 .NET Core开发系列】- 导航篇

    前言 此系列从出发点来看,是 上个系列的续篇, 上个系列因为后面工作的原因,后面几篇没有写完,后来.NET Core出来之后,注意力就转移到了.NET Core上,所以再也就没有继续下去,此是原因之一 ...

  7. python jason,pickle

    参考官网 https://docs.python.org/3/library/json.html https://docs.python.org/3/library/pickle.html 了解这两个 ...

  8. C#多线程和线程同步总结

    Thread 没有参数的线程启动 Thread newThread = new Thread(new ThreadStart(DoWork)); newThread.Start(); 有参数的线程启动 ...

  9. HTTPS 建立连接的详细过程

    HTTPS是在HTTP的基础上和ssl/tls证书结合起来的一种协议,保证了传输过程中的安全性,减少了被恶意劫持的可能.很好的解决了解决了http的三个缺点(被监听.被篡改.被伪装) 对称加密和非对称 ...

  10. [转载] 使用 Twitter Storm 处理实时的大数据

    转载自http://www.ibm.com/developerworks/cn/opensource/os-twitterstorm/ 流式处理大数据简介 Storm 是一个开源的.大数据处理系统,与 ...