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) 逐步扩 ...
随机推荐
- 【读书笔记】iOS-Web应用程序的自动化测试
seleniumHQ:https://github.com/seleniumhq/selenium Appium:https://github.com/appium/appium 参考资料:<i ...
- Fit项目图片上传和云存储的调通
项目中关于动作的说明需要相应的配图,这样可以更直观的说明动作要点.本篇主要为项目中动作的新增和编辑做准备,确定适合场景的上传操作逻辑以及图片的存储和加载的方法. 一 上传方案 a) 本来所用的模板中是 ...
- engineercms支持文档协作和文档流程,基于flow
我们用于管理文件的系统,比如网盘云盘等,并不具备流程功能,所谓流程,本质是修改文档状态,比如,从初始状态,不同权限的人登录,查看这个文件,具有修改这个文档状态的权限,比如将初始状态修改为已审查状态. ...
- 国网SGCC_UAP 反编译.class文件源代码
SGCC_UAP和eclipse操作方式差不多,对于用惯了IDEA和Android Studio的人来说非常不方便,按住Ctrl点击类名不能查看源码. 因为jar包下都是.class文件,所以需要安装 ...
- 数据层的多租户浅谈(SAAS多租户数据库设计)
在上一篇“浅析多租户在 Java 平台和某些 PaaS 上的实现”中我们谈到了应用层面的多租户架构,涉及到 PaaS.JVM.OS 等,与之相应的是数据层也有多租户的支持. 数据层的多租户综述 多租户 ...
- python第九十六天 ---Django(1)
django 模块 一 安装: pip3 install django 或 python -m pip install django 二 添加环境变量 相关命令: #cmd 下 django-ad ...
- webAPi OData的使用
一.OData介绍 开放数据协议(Open Data Protocol,缩写OData)是一种描述如何创建和访问Restful服务的OASIS标准. 二.OData 在asp.net mvc中的用法 ...
- sysfs_create_group创建sysfs接口
在调试驱动,可能需要对驱动里的某些变量进行读写,或函数调用.可通过sysfs接口创建驱动对应的属性,使得可以在用户空间通过sysfs接口的show和store函数与硬件交互: Syss接口可通过sys ...
- ubuntu 配置拼音输入法步骤
今天配置了一下 ubuntu 拼音,要求使用ubuntu 内置拼音.大致步骤我记录一下: 配置拼音,使用 ibus pinyin,网上有很多帖子大致步骤: 1)安装 中文语言 2)安装ibus 3) ...
- centos-7 虚拟机安装图形界面
centos-7 虚拟机安装图形界面 想到安装一个docker环境,于是拿出了以前装的虚拟机centos7,记得装完后,没进行任何配置(默认安装的是命令行界面). 配置网络 现有的虚拟机是没有办法联网 ...