四则运算1 java+jsp+SQLServer
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的更多相关文章
- javaweb实现教师和教室管理系统 java jsp sqlserver
1,程序设计思想 (1)设计三个类,分别是工具类(用来写连接数据库的方法和异常类的方法).信息类(用来写存储信息的方法).实现类(用来写各种操作数据库的方法) (2)定义两个jsp文件,一个用来写入数 ...
- java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码
1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...
- Atitit java jsp 新的tag技术
Atitit java jsp 新的tag技术 1.1. Tag Files vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...
- [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题
相信大家应聘的时候第一关就是笔试,即使是一位很有经验的工程师也不一定能够顺利通过,笔试不好,可能就无法进行面试,即使能够进行面试,考官对你的印象也不会很好,问的问题也会很多,估计很难吃的消,当然如果你 ...
- 结对编程--四则运算(Java)萧英杰 夏浚杰
结对编程--四则运算(Java)萧英杰 夏浚杰 Github项目地址 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目 ...
- Java/JSP程序连接不上Mysql驱动问题解决方法
错误提示: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader$1.run(URLCla ...
- Java/JSP获得客户端网卡MAC地址的三种方法解析
java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...
- .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 ...
- 结对编程--四则运算(Java)梅进鹏 欧思良
结对编程--四则运算(Java)梅进鹏 欧思良 Github项目地址:https://github.com/MeiJinpen/Arithmetic 功能要求 题目:实现一个自动生成小学四则运算题目的 ...
随机推荐
- crm 系统项目(一) 登录,注册,校验
crm 系统项目(一) 登录,注册,校验 首先创建一个Django项目,关于配置信息不多说,前面有~ models.py文件下创建需要的表格信息,之后导入数据库 from django.db impo ...
- STM32使用HAL库实现ADC单通道转换
STM32的ADC转换还是很强大的,它具有多个通道选择,这里我就不细说,不了解的可以自行百度,这里只是选取单通道,实现ADC转换.在文章开始之前,我说一下数据左对齐跟右对齐的差别,以前一直糊里糊涂的, ...
- STM32CubeMx的使用分享
1. 新建立工程(以F103ZET6为例) 2. 配置引脚(以PA0为例) 3. 配置外设(以串口为例) 4. 配置时钟 5. 外设.GPIO.中断初始化 6. 生成工程 7. 添加自己的代码 8 ...
- Vue轮播图插件---Vue-Awesome-Swiper
轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...
- 【codeforces 767E】Change-free
[题目链接]:http://codeforces.com/problemset/problem/767/E [题意] 你有m个1元硬币和无限张100元纸币; 你在第i天,需要花费ci元; 同时在第i天 ...
- Git学习总结(8)——Git和SVN之间的基本区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...
- 2015 Multi-University Training Contest 7 hdu 5373 The shortest problem
The shortest problem Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- 字符拆分存入Map计算单词的个数
///计算从命令行输入单词的种类与个数//Map<key,Value>Key-->单词:Value-->数量
- 机器学习之&&Andrew Ng课程复习--- 聚类——Clustering
第十三章.聚类--Clustering ******************************************************************************** ...
- 试用友盟SDK实现Android分享微信朋友圈
社会化分享是眼下必学且火热的功能.之前有写第三方登录,那仅仅是社会化分享的一部分.今天来玩玩分享微信朋友圈. 为了方便操作,还是依照步骤写. 一,注冊 注冊应用已经在这里具体说明过了,这里就不多提了. ...