java+jsp+sql server实现网页版四则运算.
设计思路:
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实现网页版四则运算.的更多相关文章
- SQL Server 2016正式版安装(超多图)
微软数据库SQL Server 2016正式版在2016年6月就发布,由于近期工作忙,一直拖到现在才有时间把安装过程写到博客上,分享给大家.本人一直习惯使用英文版,所以版本和截图都是英文版的.废话少说 ...
- win7 安装SQL Server 2005 开发版 图文教程
转自win7 安装SQL Server 2005 开发版 图文教程 ----------------------------写在安装前------------------------------ 一. ...
- Windows XP系统安装SQL Server 2005(开发版)图解
转自Windows XP系统安装SQL Server 2005(开发版)图解 安装前提:由于有些从网上的下载的项目需要导入SQL Server 2005的数据文件,因此,今天便安装了这个数据库,我的系 ...
- Sql Server 2005 开发版亲測可用下载地址
sqlserver2005开发版下载地址:http://222.132.81.146/rj/cs_sql_2005_dev_all_dvd.rar建议使用迅雷下载. sql server 2005 开 ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- Sql Server 2008开发版(Developer Edition)过期升级企业版(Enterprise Edition)失败后安装学习版(Express Edition)
最近一个多月,甚是悠哉,无事可做.上线的网站系统也没接到客户的反馈,反而觉得无聊之极了.上周五早上,一上QQ,就收到客户发来消息,管理平台无法登陆了.心里一惊,立马开始查找故障原因.翻看了系统日志,提 ...
- jTDS Java连接SQL Server 2000数据库
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...
- Java 链接SQL Server 数据库
1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...
- JAVA 连接 SQL Server 2008:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
新项目需要修改Java开发的MES系统...Java忘的也差不多了...简单尝试以下JAVA连接SQL Server吧,没想到坑还是很多的.以前直接连oracle时没有这么多麻烦啊....可能微软和o ...
随机推荐
- LINUX 笔记-ps命令
使用该命令能确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME ...
- C#通过OpenCL调用显卡GPU做高效并行运算
GPU的并行运算能力远超CPU,有时候我们会需要用到超大数据并行运算,可以考虑用GPU实现,这是一篇C#调用GPU进行运算的入门教程. 1: 下载相关的库: https://sourceforge.n ...
- LeetCode Questions List (LeetCode 问题列表)- Java Solutions
因为在开始写这个博客之前,已经刷了100题了,所以现在还是有很多题目没有加进来,为了方便查找哪些没加进来,先列一个表可以比较清楚的查看,也方便给大家查找.如果有哪些题目的链接有错误,请大家留言和谅解, ...
- PhiloGL学习(6)——深情奉献:快乐的一家
前言 话说上一篇文章结尾讲到这一篇要做一个地球自转以及月球公转的三维动画,提笔,不对,是提键盘开始写的时候脑海中突然出现了几年前春晚风靡的那首歌:蒙古族小丫头唱的快乐的一家.闲言莫提,进入正题. ...
- JavaScript+HTML5 实现打地鼠小游戏
一.游戏简介 打地鼠这个游戏相信大家都不陌生,也是童年时候一款经典的游戏.本次游戏的编写是以html文件形式完成的,并且使用HBulider软件进行编写,使用谷歌浏览器展示效果,游戏将会采用JavaS ...
- 《Web前端开发修炼之道》-读书笔记CSS部分
如何组织CSS-分层 应用 css 的能力分两部分:一部分是css的API,重点是如何用css控制页面内元素的样式:另一部分是css框架,重点是如何对 css 进行组织.如何组织 css 可以有多种角 ...
- 你真的懂offset与scroll吗?
背景 身为一个前端工程师,每次在做关于滚动或者定位之类的交互时,或多或少都会用到offset.scroll之类的元素属性值来计算距离,但是每次都是现用现百度,从来没有真正系统地弄明白其中的原理及用法: ...
- hdu 4717 Tree2cycle(树形DP)
Tree2cycle Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)Tot ...
- 2015ACM/ICPC亚洲区沈阳站 Pagodas
Pagodas Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- Formatting the event object
尽量将IE与DOM函数事件对象不同的性质或方法转成DOM标准 EventUtil.formatEvent = function (oEvent) { if (isIE && ...