javaweb1(小学生四则运算)
一、设计思想
①设计三个页面,分别为题数设置页面,题目显示页面以及结果显示页面。
②设计题数设置页面。
③从题数设置页面接收题数,作为循环次数。
④利用随机数生成相应符合条件表达式,并存入数据库。
⑤接收网页传来的解答,与数据库中的标准答案比较,得出成绩。
二、源程序代码
number.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=UTF-8">
<title>整数二级菜单页面</title>
</head>
<body background="../img/4.jpg">
<form name="form1" method=post action="index.jsp">
<center> <font color=blue >欢迎来到口算练习网</font></center>
<table align="center">
<tr>
<td> <font color=blue >请输入需要生成的题目数量</font></td>
<td><input name="shuliang" id="shuliang" type="text" > </td>
</tr>
</table>
<center><input type="submit" value="开始出题"> </center>
</form>
</body>
</html>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
<!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=UTF-8">
<title>整数页面</title>
</head>
<body background="../img/5.jpg">
<center><font color=green >做题开始了呦!</font></center>
<%
String driverStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
Class.forName(driverStr).newInstance();
String connStr = "jdbc:sqlserver://localhost:1433; DatabaseName=source";
String dbusername = "sa";
String dbpassword = "123456";
Connection conn=null;
java.sql.Statement stmt=null;
conn=DriverManager.getConnection(connStr, dbusername, dbpassword);
stmt=conn.createStatement();
int ans=0;
String j=request.getParameter("shuliang");
int sl=Integer.valueOf(j);
String []ss=new String[sl];
String s="";
String s1="-";
String daan[] =new String [sl];
String ans2[]=new String[sl];
int a[]=new int [sl];
int b[]=new int [sl];
int a1[]=new int [sl];
int b1[]=new int [sl];
int a2[]=new int [sl];
int flag=0;
int flag1=0;
int c[]=new int [sl];
for(int i=0;i<sl;)
{
daan[i]="name"+i;
flag1=0;
a[i]=(int)(Math.random()*98+1);
b[i]=(int)(Math.random()*98+1);
c[i]=(int)(Math.floor((Math.random()*5)));
a1[i]=(int)(Math.random()*8+1);
b1[i]=(int)(Math.random()*8+1);
a2[i]=(int)(Math.random()*98+1);
if(c[i]==0){
s="+";
if(ans<100){
ans=a[i]+b[i];
ss[i]=a[i]+s+b[i];
flag1=1;
}
}
else if(c[i]==1){
s="-";
if(a[i]>b[i]){
ans=a[i]-b[i];
ss[i]=a[i]+s+b[i];
}
else if(a[i]<b[i]){
ans=b[i]-a[i];
ss[i]=b[i]+s+a[i];
}
flag1=1;
}
else if(c[i]==2){
s="*";
ans=a1[i]*b1[i];
ss[i]=a1[i]+s+b1[i];
flag1=1;
}
else if(c[i]==3){
s="/";
int sum=a1[i]*b1[i];
ans=b1[i];
ss[i]=sum+s+a1[i];
flag1=1;
}
else{
s="+";
ans=a[i]+b[i]-a2[i];
int sum=a[i]+b[i];
if(ans>0&&sum<100){
flag1=1;
ss[i]=a[i]+s+b[i]+s1+a2[i];
}
}
if(flag1==1){
String sql="INSERT INTO size VALUES ('"+ss[i]+"','"+ans+"')";
stmt.executeUpdate(sql);
ans2[i]=""+ans;
out.print(ss[i]); %>
<br>
<form name="form2" method="post" action="result.jsp">
<font color=green >请输入答案<input name=<%=daan[i] %> type="text" id="daan"></font>
<br/> <%
i++;
session.setAttribute("v1", ss);
session.setAttribute("v2", ans2);
}
}
%>
<input type="submit" value="统计结果"> </form>
</body>
</html>
result.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=UTF-8">
<title>Insert title here</title>
</head>
<body background="../img/7.jpg">
<%
String[] s1= (String[])session.getAttribute("v1");
String[] answer= (String[])session.getAttribute("v2");
String[] daan=new String[s1.length];
int count=0;//正确答案的个数
for(int i=0;i<s1.length;i++)
{
out.print("运算式为:");
out.print(s1[i]+" ");
out.print("您的输入结果为:");
daan[i]=request.getParameter("name"+i);
out.print(daan[i]+" ");
out.print("正确结果为:");
out.print(answer[i]);
if(Integer.parseInt(daan[i])==Integer.parseInt(answer[i]))
{
out.print("恭喜你答对了!");
count++;
}
else
{
out.print("很遗憾,你答错了!");
}
out.print("<br>");
}
out.print("你一共答对的题目数:");
out.print(count);
%>
</body>
</html>
三、运行结果截图



四、编程总结分析
这次程序说实话编下来很累很累,因为基本还是一窍不通的情况,所以基本一切的知识都是自己查询加上问人再一个个尝试得出来的。但是编完之后很有成就感,看着自己的网页,虽然还不成熟,但是还是很开心。
五、PSP0级
1.项目计划总结
时间计划:周三下午1点开始,一直做到结束
内容规划:从下午开始完成整个网页开发
2.时间记录日志
实际时间:下午1点-10点20
内容基本完成
3.缺陷记录日志
①界面不美观,字体大小没有调整的好
②时间设置没有写入
javaweb1(小学生四则运算)的更多相关文章
- 30道小学生四则运算题C/C++编程
软件工程科课上,老师通过实例讲解什么是程序,程序和软件的区别,要求我们通过短时间写一道编程题, 题目就是编写30道小学生四则运算题.以下就是源代码: #include<iostream.h> ...
- 《软件工程》小组团队项目-小学生四则运算APP(First Sprint)
<软件工程>团队项目我们小组选择了小学生四则运算APP,在上学期原有的项目基础上进行更新升级.(自我感觉我们团队上学期的小学生四则运算APP是较为成功且实用的,不过这学期学习到了新的知识, ...
- 第三周结对项目--小学生四则运算CAI软件汇报及总结(UI/web)
前言: 这周是和我队友苏卫喜一起结对开发,我主要是写项目文档需求分析,她是通过我的需求文档来进行做思维导图,之后我们通过思维导图一起讨论用户界面设计. 以下就是我的需求分析1.0版本 1. 软件名 ...
- 作业6小学生四则运算测试APP的NABCD模型
小学生四则运算测试NABCD模型 组员:李新,朱浩龙,叶煜稳,陈俊金,林德麟 (1) N (Need 需求) 需求分析: 四则运算是小学生学习数学的核心和基础,必须经过大量的练习才能熟练掌握,但是一 ...
- 作业六:小学生四则运算之NABCD模型与产品Backlog。
NABCD模型与产品Backlog NABCD模型 ) N (Need 需求) 方便了老师和学生,使他们可以想要的时候随时可以得到,省时省力,快速出题,马上得到答案. ) A (Approach 做法 ...
- 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’
这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...
- java小学生四则运算带面板版 但我不知道为什么同类变量却进不了动作监听中去
---恢复内容开始--- package yun; import java.util.*; import java.awt.*; import java.awt.event.ActionEvent; ...
- 3.结对编程成果报告(小学生四则运算的出题程序,Java实现)
程序名称:小学生四则运算的出题程序 先附上代码: package com.makequestion; import java.text.DecimalFormat;import java.util.R ...
- 第一章-第一题(小学生四则运算)--By郭青云
1.项目需求 a) 除了整数以外,还要支持真分数的四则运算. (例如: 1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩 ...
随机推荐
- JS闭包和引用
简介 Javascript 中一个最重要的特性就是闭包的使用.因为闭包的使用,当前作用域总可以访问外部的作用域.因为Javascript 没有块级作用域,只有函数作用域,所以闭包的使用与函数是紧密相关 ...
- 深入研究HTML5实现图片压缩上传
上篇文章中提到移动端上传图片,我们知道现在流量还是挺贵的,手机的像素是越来越高,拍个照动不动就是好几M,伤不起.虽然客户端可以轻轻松松实现图片压缩再上传,但是我们的应用还可能在浏览器里面打开,怎么办呢 ...
- win7x64上配置 vs2015
win7 x64配置vs2015成功关键 1. 首先查看win7版本是否是sp1或以上: [计算机]----->[属性] 2. 将IE浏览器升级到IE11: IE11[百度网盘下载],提取码:[ ...
- Jmeter进阶篇之保存测试结果
Jmeter现在真的是一款越来越流行的接口测试工具. 但是通过和老大哥LR相比较,可能有部分同学觉得,LR的图表功能,报告功能不要太强大. 但是小弟jmeter在这方面其实并不差... 今天我们就来学 ...
- selenium win7+selenium2.0+python环境搭建
win7+selenium2.0+python环境搭建 by:授客 QQ:1033553122 步骤1:下载python 担心最新版的支持不太好,这里我下载的是python 2.7(selenium之 ...
- Android深入四大组件(八)广播的注册、发送和接收过程
前言 我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册.接收和发送过程.建议阅读此文前请先阅读Android深入理解四大组件系列的文章,知识重复的部分, ...
- python网络编程:socket、服务端、客户端
本文内容: socket介绍 TCP: 服务端 客户端 UDP: 服务端 客户端 首发时间:2018-02-08 01:14 修改: 2018-03-20 :重置了布局,增加了UDP 什么是socke ...
- 在Java中调用C/C++本地库
JNI是Java Native Interface的英文缩写, 中文翻译为本地调用, 自从Java 1.1开始就成为了Java标准的一部分. C/C++是系统级的编程语言, 可以用来开发任何和系统相关 ...
- 性能测试—JMeter 常用元件(四)
<零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完整的测试计划包含一个或多个线程组.逻辑控 ...
- Web服务并发I/O模型
I/O模型: 阻塞型.非阻塞型.复用型.信号驱动型.异步 同步/异步: 关注消息通知机制 消息通知: 同步:等待对方返回消息 异步:被调用者通过状态.通知或回调机制通知调用者被调用者的运行状态 阻塞/ ...