博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对开发之四则运算(网页版)
阅读量:6478 次
发布时间:2019-06-23

本文共 3643 字,大约阅读时间需要 12 分钟。

小组成员:     信1505-1班    20153274     罗振宇

                   信1505-1班    20153293     康学涛

任务要求:实现自动生成算术题,并且能够检查结果和将结果存放到数据库中的四则运算,并制作成网页版

程序设计思想:写好java程序后,需要将程序嵌入网页中,编写jsp脚本文件,使用数组来实现java和jsp的交互;session标签,可以实现网页之间参数的传递。

 

程序源代码:

1.界面设计:   

  Choose.jsp

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3  4  5  6 
7 选择界面 8 17 18 19
四则运算生成器
20
Welcome To User The System
21
22
请选择出题的范围
23
24 A:整数的四则计算
25 B:真分数的四则计算
26 C:有余数的运算
27
28
请选择:
29
30
31
32
33 34

 

 2.

chuandi.jsp             通过session标签实现参数在网页之间的传递

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
选择界面
四则运算生成器
Welcome To User The System
请选择出题的范围
A:整数的四则计算
B:真分数的四则计算
C:有余数的运算
请选择:

 

 3.fenshu.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" import = "java.util.Random"%>
Insert title here<%!class calculate2{ public int m,n,x,y,c;//定义4个变量,还有一个符号变量 public Random random=new Random(); String s;//生成的计算式储存咋m里面 int fanwei; public void shengcheng(int fanwei1) { fanwei=fanwei1; c=random.nextInt(4); x=random.nextInt(fanwei); y=random.nextInt(fanwei); m=random.nextInt(fanwei); n=random.nextInt(fanwei);//生成4个随机数在50以内,赋给x,y,m,n String fuhao; for(int i=0;;i++) { if(x==0)//不能生成0 { x=random.nextInt(fanwei); } else { break; } } for(int i=0;;i++) { if(y==0||y==x)//不能生成0 { y=random.nextInt(fanwei); } else { break; } } for(int i=0;;i++) { if(m==0)//不能生成0 { m=random.nextInt(fanwei); } else { break; } } for(int i=0;;i++) { if(n==0||m==n)//不能生成0 { n=random.nextInt(fanwei); } else { break; } } if(c==0)//通整数一样,0是加法,1减法,2乘法,3除法 { fuhao="+"; } else if(c==1) { fuhao="-"; } else if(c==2) { fuhao="*"; } else { fuhao="/"; } int gongyue=Gongyue(x,y); x=x/gongyue; y=y/gongyue; gongyue=Gongyue(m,n); m=m/gongyue; n=n/gongyue; } public String shuchu()//定义输出函数 { if(c==0) { if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果 { s=y+"/"+x+" + "+n+"/"+m+"="; return jisuan(x,y,m,n,c);//返回计算结果 } else if(x>y&&m
c) { gongbei=a;//公倍数从大的开始 while(gongbei<=a*c) { if(gongbei%a==0&&gongbei%c==0) { break; } gongbei++; } } else { gongbei=c;//公倍数从大的开始 while(gongbei<=a*c) { if(gongbei%a==0&&gongbei%c==0) { break; } gongbei++; } } return gongbei; } public int Gongyue(int gongbei,int s3)//求最大公约数的函数 { int i=1,gongyue=0; if(gongbei>s3)//公约数从1到最小的数 { while(i<=s3) { if(gongbei%i==0&&s3%i==0) { gongyue=i; } i++; } return gongyue; } else { while(i<=gongbei) { if(gongbei%i==0&&s3%i==0) { gongyue=i; } i++; } return gongyue; } } public int jianyan(String a[],int l)//检验是否生成重复计算式的函数 { int flag=1; for(int i=0;i
<% tishu=Integer.parseInt((String.valueOf(session.getAttribute("tishu")))); fanwei=Integer.parseInt((String.valueOf(session.getAttribute("fanwei")))); session.setAttribute("tishu", tishu); if(m
<%out.print(m+1+"."+shuju[m]+"="); m=0;%>
请输入答案:
<% } else { daan=a.shuchu(); session.setAttribute("shuju", shuju[m]); session.setAttribute("daan", daan); session.setAttribute("m", m); %>
<%out.print(m+1+"."+shuju[m]+"=");%>
请输入答案:
<% m++

转载于:https://www.cnblogs.com/overs/p/6679750.html

你可能感兴趣的文章
从京东技术演进看互联网企业的成长历程
查看>>
MFC ado+mysql+odbc技术分享
查看>>
路由基本命令(含中文解释)
查看>>
js中让字符串中特定字符红色显示
查看>>
HttpClient4.5教程-第二章-连接管理
查看>>
Yeslab 马老师 V2V环境下vCenter Server Heartbeat v6.4实现vCenter5.0的双机备份
查看>>
linux下定时任务
查看>>
redhat Nginx 安装
查看>>
利用START命令入侵
查看>>
oracle 配置监听
查看>>
上海访微软 详解Azure和S+S
查看>>
getAttribute()和getParameter()的区别
查看>>
跨国巨头猛攻语音识别技术 让电脑听懂人们说话
查看>>
运行QTP测试脚本后,将编译结果写入指定文件(一)
查看>>
交换机端口安全总结
查看>>
Server 2012 Hyper-v新功能之四:存储迁移
查看>>
WEBLOGIC部署错误解决笔记(BEA-090782等)
查看>>
惊艳呈现-百度搜索手机客户端-设计项目分享
查看>>
Scala:函数式对象的定义及其使用
查看>>
6.1. Principles of Usability
查看>>