18111119
目 录
1 选题............................................................................................................................
3 系统需求分析............................................................................................................
3.1 系统可行性分析.............................................................................................
3.2 系统需求分析.................................................................................................
3.3 项目进度安排.................................................................................................
4 系统设计....................................................................................................................
4.1 系统设计.........................................................................................................
4.2 数据库设计(有则写-无则删除,如果是文件直接写文件)...................
5 系统实现....................................................................................................................
5.1 管理员登录界面实现.....................................................................................
5.2 管理用户信息界面实现.................................................................................
6 系统测试....................................................................................................................
7 结论和心得................................................................................................................
1 选题
|
选题一 |
算术运算测试 |
|
题目要求 |
|
|
实现十道100以内加减法数学题,能根据题目计算出答案,加减号是否可以随机生成,与输入答案对比,判断做题是否正确,最后计算分数。
|
|
|
使用Java知识 |
|
|
(1)运用了do-while循环语句 (2)运用了if条件判断语句 (3)运用了String.format(“%.2f”,number)方法对数组进行保留两位输出的方法 (4)运用java的Scanner键盘录入方法
|
|
|
选题二 |
猜数游戏 |
|
题目要求 |
|
|
计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间。保留用户测试成绩,存放到文件或数据库中。猜数可选择是否继续猜数
|
|
|
使用Java知识 |
|
|
(1)运用了java的Math.Random生成0-1以内的随机数的方法; (2)运用java的Scanner键盘输入方法 (3)运用了java的while循环方法 (4)运用了java的if条件判断语句方法
|
|
2 系统需求分析
2.1 系统可行性分析
一、技术可行性
使用Java语言进行程序设计的开发,通过Java实现了程序的各个功能和用户需要进行的相关操作。
二、操作可行性
此次程序设计实验采用的是Eclipse软件执行,运行结果与预期结果相同,达到了设计实验的目的及功能需求。满足用户的需求。
2.2 系统需求分析
一、算数运算测试程序
a、系统随机生成两个数,并随机产生运算符,进行运算。
b、用户输入自己的计算结果与计算机的结果对比。
c、如果结果一致则回复回答正确并成绩加分,相反则回复答案错误。
d、当答完十道题后,则答题结束,给出你所得成绩,根据你的成绩判断等级。
e、创建文档并保存你的成绩到文档中。
算数运算测试功能模块图
二、猜数游戏
a、计算机生成随机数,并记录当前时间。
b、用户输入自己猜想的数字
c、计算机进行用户猜想的数字判断,并给出相应提示,用户的所猜的数字是大了还是小了。
d、当用户猜对数字时,计算机提醒用户猜对了,然后给出用户所猜次数,并记录当前时间,然后保存数据到文档。
e、最后一轮猜数结束后判断游戏是否继续。
猜数游戏功能模块图
2.3 进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
|
阶段 |
持续时间 |
阶段描述 |
输出 |
|
构思阶段 |
1h |
需求分析 |
需求说明,功能模块图 |
|
设计阶段 |
3h |
系统设计 |
设计说明-可以画流程图;数据库设计 |
|
实现阶段 |
6h |
编写代码 |
项目工程源代码 |
|
2h |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
|
运行阶段 |
4h |
部署、运行 |
系统使用说明、运维报告、录制视频 |
3 系统设计
3.1 系统设计
根据系统的实际功能需求分析,对系统功能部分进行了设计。
一、算术测试运算
根据系统的实际功能需求分析,对系统功能部分进行了设计。
随机测试题目生成模块:先随机产生两个0-100之间的数,再随机生成运算符。判断运算符,然后进行对应的加减运算。
题目测试模块:输入得数,判断是不是与系统给出的正确答案相等,正确继续下一道题,错误,告诉正确答案继续下一道题。
成绩记录模块:0分开始,对一个加十分,错误不扣分。
输出模块:输出自己的分数,还有评分等级。
保存模块:将这次的成绩数据保存文档。
二、猜数游戏
随机数生成模块:运行过后,系统随机生成一个数。
数字判断模块:输入数字后,给予提示,继续猜,直到猜对为止。
输出模块:输出猜了多少次,输出排行榜
是否继续模块:输入y继续游戏,输入n则退出游戏
保存模块:将这次的成绩数据保存文档。
4 系统实现
一、算术运算代码:
import java.util.Scanner;
//算术运算测试
//实现10道随机生成的加减乘除数学题,能根据题目计算出答案,与自己输入运算的答案相对比,最后给予分数。
//考虑加减乘除法是否随机给出
public class Suan {
public static void main(String[] args) {
final int num=10;
char[] zf= {'+','-','*','/'};
System.out.println("欢迎你进入运算测试程序,下面将进行"+num+"道随机生成的运算题,请输入正确的答案");
int[] num1=new int[num];
int[] num2=new int[num];
int[] num3=new int[num];
int[] sum=new int[num];
int x=0;
Scanner input =new Scanner(System.in);
for(int i=0;i<num;i++) {
char z=zf[(char)(Math.random()*zf.length)];
num1[i]=(int)(Math.random()*100);
num2[i]=(int)(Math.random()*100);
System.out.println("第"+(i+1)+"道题为"+num1[i]+z+num2[i]+"=");
if(z=='+') {
sum[i]=num1[i]+num2[i];
}else if(z=='-') {
sum[i]=num1[i]-num2[i];
}else if(z=='*') {
sum[i]=num1[i]*num2[i];
}else if(z=='/') {
sum[i]=num1[i]/num2[i];
}
System.out.println("请输入正确的答案");
num3[i]=input.nextInt();
if(num3[i]==sum[i]) {
System.out.println("回答正确");
x++;
}else {
System.out.println("回答错误,正确答案为"+sum[i]);
}
}
System.out.println("答题结束,你的得分为"+x+"分");
if(x >=9) {
System.out.println("你的成绩为优");
}else if(x >= 7) {
System.out.println("你的成绩为良");
}else if(x>=6) {
System.out.println("你的成绩为中");
}else {
System.out.println("你的成绩不及格");
}
}
}
二、猜数游戏代码
import java.util.Scanner;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
public class GuessGame{
public static void main(String[] args){
Random ran=new Random();
//生成1-100内的随机数(0-99)+1
int a=ran.nextInt(100)+1;
System.out.println(a);
System.out.println("输入你要猜的数:");
Scanner sc=new Scanner(System.in);
int count=0;
while(true){
int b=sc.nextInt();
count++;
if(a<b){
System.out.println("你猜的数大了");
}else if(a>b){
System.out.println("你猜的数小了");
}
else{
System.out.println("恭喜您,您猜对了!!");
System.out.println("你一共猜了"+count+"次。");
break;
}
}
File file = new File("D:\\eclipes\\Shixun\\src\\com\\jieduan\\one\\猜数游戏.txt");//在该目录下生成一个文件
String content = "你一共猜了"+count+"次,这个数是"+a;//内容
try (FileOutputStream fop = new FileOutputStream(file)) {//创建一个向指定 File 对象表示的文件中写入数据的文件输出流
if (!file.exists()) {//检查文件是否存在
file.createNewFile();
}
byte[] contentInBytes = content.getBytes();//把字符编码拆成字节,然后保存在byte数组中
fop.write(contentInBytes);//把字节写进去
fop.flush();//缓冲区的数据强行输出
fop.close();//关闭流
System.out.println("游戏结束!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
5 系统测试
一、算数运算运行测试
二.猜数游戏运行测试
6 结论和心得
通过这两个自主程序设计,让我知道自己在这门课程上的学习还不够扎实,很多知识点也不能熟练掌握,学习的也不够刻苦认真,我觉得实训是学习JAVA的重要环节,有利于我们巩固专业知识、掌握工作技能、提高就业筹码。通过不足,更应该找清自己的不足来攻克,希望在今后的学习,能顺顺利利!
浙公网安备 33010602011771号