四则运算自动出题之javaweb版
四则运算出题机之JAVAWEB版
要求还是和之前的出题形式一样
begin.jpg
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>选择题数页面</title>
</head>
<body style="background: url(images/1.jpg); background-size:100%"> <form name="form1" action="chuti.jsp" onsubmit="return check(form1);">
<h2 align="center">四则运算自动出题机</h2>
<table align="center">
<tr>
<td>题数</td>
<td><input type="text" name="number" value="" placeholder="请输入题数" onchange="checkti(form1)"></td>
</tr>
<tr>
<td>每行个数</td>
<td><input type="text" name="hang" value="" placeholder="请输入每行输出几个" onchange="checkhang(form1)"></td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
</tr>
</table>
<script type="text/javascript">
function check(form1)
{
var num = form1.number.value;
var hang=form1.hang.value;
if(num.length==0)
{
alert("题数不能为空");
form1.number.value="";
form1.number.focus();
return false;
}
if(hang.length==0)
{
alert("每行个数不为空");
form1.hang.value="";
form1.hang.focus();
return false;
}
}
function checkti(form1)
{
var num = form1.number.value;
if(num=="")
{
alert("题数不能为空");
form1.number.value="";
form1.number.focus();
return false;
}
}
function checkhang(form1)
{
var hang=form1.hang.value;
if(hang.length==0)
{
alert("每行个数不为空");
form1.hang.value="";
form1.hang.focus();
return false;
}
}
</script>
</form>
</body>
</html>
chuti.jpg
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>出题界面</title>
</head>
<body style="background: url(images/2.jpg); background-size:100%">
<%
int h=Integer.parseInt(request.getParameter("hang"));
int x=Integer.parseInt(request.getParameter("number"));
String value[]=new String[x];
String answer[]=new String[x];
int i;
for(i=0;i<x;)
{
int num1=(int)(1+(Math.random()*100));
int num2=(int)(1+(Math.random()*100));
int f=(int)(1+(Math.random()*4));
if(f==1)
{
value[i]=num1+"+"+num2+"=";
answer[i]=num1+num2+"";
i++;
}
else if(f==2&&num1>=num2)
{
value[i]=num1+"-"+num2+"=";
answer[i]=num1-num2+"";
i++;
}
else if(f==3&&num1*num2<100)
{
value[i]=num1+"*"+num2+"=";
answer[i]=num1*num2+"";
i++;
}
else if(f==4&&num2!=0&&num1%num2==0)
{
value[i]=num1+"/"+num2+"=";
answer[i]=num1/num2+"";
i++;
}
else
continue;
}
%>
<h2 align="center">练习题</h2>
<form action="panduan.jsp">
<table align="center">
<%
int k;
for(int j=0;j<x;)
{
k=0;
%>
<tr>
<%
while(k<h)
{
%>
<td><%=value[j] %></td>
<td><input type="hidden" name="value" value=<%=value[j] %>></td>
<td><input type="text" name="result" /></td>
<td><input type="hidden" name="answer" value=<%=answer[j] %>></td>
<%
j++;
k++;
if(j>=x)
break;
}
%>
</tr>
<%
}
%>
<tr>
<td><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
panduan.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>判断对错</title>
</head>
<body text="red" style="background: url(images/3.jpg); background-size:100%">
<%
int a=0,b=0,c=0,i,k=0;
String result[]=request.getParameterValues("result");
String answer[]=request.getParameterValues("answer");
String values[]=request.getParameterValues("value");
for(i=0;i<values.length;i++)
{
values[i]+=result[i];
if(result[i].equals(""))
{
%>
<p align="center"><%=values[i] %>,该题没有填写,正确答案为<%=answer[i] %></p>
<%
a++;
}
else if(result[i].equals(answer[i]))
{
%>
<p align="center"><%=values[i] %>,回答正确。</p>
<%
b++;
}
else
{
%>
<p align="center"><%=values[i] %>,回答错误,正确答案为<%=answer[i] %></p>
<%
c++;
}
}
%> <h2 align="center">总共<%=values.length %>道题,回答正确<%=b %>道,回答错误<%=c %>道,没有作答<%=a %>道。</h2>
<p align="center" ><a href="begin.jsp">重新做答</a></p>
<p align="center" ><a href="jieshu.jsp">结束</a></p>
</body>
</html>
jieshu.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>结束界面</title>
</head>
<body style="background: url(images/4.jpg); background-size:100%">
<h1 align="center">结束</h1>
</body>
</html>
流程截图
这就是javaweb版的四则运算出题机。
四则运算自动出题之javaweb版的更多相关文章
- Java设计给小学生的自动出题系统
系统要求: 1.自动出题,涉及加减乘除四则运算 2.运算为两位数之间 3.减法不能出现负数 4.乘法结果不超过100 5.除法必须整除 6.用户决定出题量 7.用户决定几道题一换行 8.题目不允许重复 ...
- 用Python开发小学二年级口算自动出题程序
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 武汉光谷一小二年级要求家长每天要给小孩出口算题目,让孩子练习. 根据老师出题要求编写了Python程序 ...
- Demo005 小学四则运算自动生成程序
目录 小学四则运算自动生成程序 0.传送门 1.题目要求 2.功能实现 2.1 总体设计 2.2 用户欢迎界面 2.3 用户功能界面 2.4 屏幕输出 2.5 文本输出 2.6 获取时间 2.7 用户 ...
- 自动出题判分——c#学习实践
1.程序功能自动出题—(程序随意给出10以内加减乘除)并且判断结果正确与否,正确打对勾,错误打错号. 2.设计界面: 3.代码: using System; using System.Collecti ...
- 3.结对编程成果报告(小学生四则运算的出题程序,Java实现)
程序名称:小学生四则运算的出题程序 先附上代码: package com.makequestion; import java.text.DecimalFormat;import java.util.R ...
- 四则运算————javaweb版
1.设计思路: 定义一个类arithmetic,在该类中的定义相关成员,随机产生的题目以及答案用数组承接,在第一个jsp里面用户输入题目数量以及设置做题时间,将这两个数传到第二个jsp页面,在此页面定 ...
- Javaweb版四则运算
显示出题界面shu01.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&quo ...
- 使用release自动打包发布正式版详细教程
昨天写了个release插件的版本管理,今天就在自动发布过程中遇到了许多坑,只能再写一篇自动发布详细教程,纪念我那昨日逝去的青春 (╥ _ ╥`) release正常打包发布流程按照如下几个阶段: C ...
- partTwo自动出题程序第一阶段
课堂测试1:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 "软件" 代码实现 import java.util.Random;//import java.uti ...
随机推荐
- 在UE4C++中的宏
1. UE4蓝图的宏 在蓝图中,我们可以把一堆经常使用的节点封装为一个宏,然后通过多次使用这个宏,达到了减少重复代码量的效果. 如图: 2. UE4C++中的宏 那么,在UE4的C++中怎么实现宏呢? ...
- ERA-Interim数据学习
1.气象再分析数据有很多种,看文献里用到的主要有这几种 ECWRF——ERA-Interim,分辨率0.125°,欧洲的 MERRA-2,分辨率0.625°*0.5°,NASA的 GEOS-5FP,分 ...
- 关于python的四舍五入
参考https://blog.csdn.net/qq_39234705/article/details/82817703 四舍五入有很多相关资料,主要用两种方法round()和'%.2f' 两种方法取 ...
- python gis库
apt install python3 python3-gdal gdal-bin python3-pyproj proj-bin python3-shapely fiona python3-fion ...
- 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】
如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求. -- CORS简单请求 -- ...
- 让ie10/11支持非单页面的vue/es6
为了满足某些客户的要求,最近让前端同学实现了ie 10(windows 7)/11(windows 10)支持多页面的vue/es6,基本参考如下: https://www.cnblogs.com/n ...
- 查找算法(7)--Hash search--哈希查找
1.哈希查找 (1)什么是哈希表(Hash) 我们使用一个下标范围比较大的数组来存储元素.可以设计一个函数(哈希函数, 也叫做散列函数),使得每个元素的关键字都与一个函数值(即数组下标)相对应,于是用 ...
- Operation之结合操作符
startWith 该方法会在Observable序列开始之前插入一些事件元素. 即发生事件消息之前, 会发出这些预先插入的事件消息 Observable.of("2", &quo ...
- Egret自定义位图文字(自定义+BitmapLabel)
一 自定位图文字 因为egret的位图文字是texturemerger做的,需要多张单图片导入tm,然后导出两个文件来使用,过程比较麻烦. 而Laya的位图文字则是一张整图数字图片,使用FontCli ...
- laravel5.8ajax请求auth认证返回302的解决方法。
注册 /app/Http/Controller/Auth/RegisterController.php <?php namespace App\Http\Controllers\Auth; us ...