1 选题
选题一 |
算术运算测试 |
题目要求 |
|
算数运算测试 :实现十道100以内加减法数学题,如果是产生偶数就加法,奇数就减法,能根据题目计算,与输入答案对比,判断做题是否正确,最后计算分数并且保存。 |
|
使用Java知识 |
|
Java基本输入输入出、运算符、循环、选择分支。
|
|
选题二 |
猜数游戏 |
题目要求 |
|
计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出评语。
|
|
使用Java知识 |
|
循环、分支、变量、常用类等。
|
2 系统需求分析
2.1 系统可行性分析
一、算术运算测试
(1)经济可行性:
这个算术运算测试,我们使用eclipse,mysql5.5,两个软件免费,设备一台笔记本电脑,网络等。这个算术运算测试一共花费0元,所以经济上可行。
(2)技术可行性:
我们使用的是java基础语言,java面向对象,所以技术上可行。
二、猜数游戏
1)经济可行性:
这个算术运算测试,我们使用eclipse,mysql5.5,两个软件免费,设备一台笔记本电脑,网络等。这个算术运算测试一共花费0元,所以经济上可行。
(2)技术可行性:
我们使用的是java基础语言,java面向对象,所以技术上可行
2.2 系统需求分析
一、算术运算测试
(1)需求分析:
第一个让它用random生成三个随数,我们实现的是十道100以内加减法数学题,所以其中生成的两个随机数要是100以内的数,另一个随机数是用来判断如果是产生偶数就加法,奇数就减法,然后控制台显示这个计算题,如果答对了给它一个提示,并给他加10分,如果没有答对,也给他一个提示,并且显示正确答案,最后把每次运算测试的分数存到文件中。
二、猜数游戏
(1)需求分析
用random生成一个随机数,在控制台输入你猜的数猜中即胜,猜错继续,直到猜中结束,并显示第几次猜中,最后给出评语。
2.3 进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
阶段 |
持续时间 |
阶段描述 |
输出 |
构思阶段 |
2小时 |
需求分析 |
需求说明,功能模块图 |
设计阶段 |
1天 |
系统设计 |
设计说明-可以画流程图;数据库设计 |
实现阶段 |
2天 |
编写代码 |
项目工程源代码 |
1天 |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
运行阶段 |
1天 |
部署、运行 |
系统使用说明、运维报告、录制视频 |
3 系统设计
3.1 系统设计
一、算术运算测试
(1)功能设计:
让计算机随机生成10个加减法随机运算,用户输入答案,答对了加10分,答错了不加分,并记录最终得分。
二、猜数字游戏
(2)功能设计:
在控制台输入你猜的数猜中即胜,猜错继续,直到猜中结束,并显示第几次猜中,最后给出评语。
3.2 文件
4 系统实现
一、算术运算测试
(1)功能实现:
package projectOne;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
/*实现十道100以内加减法数学题,
* 如果是产生偶数就加法,奇数就减法,能根据题
* 目计算出答案,与输入答案对比,判断做题是否
* 正确,最后计算分数并保存。*/
public class Reckoning {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Random r1 = new Random();//随机数生成对象
File file=null;//创建文件
int score=0;
for(int i=1;i<=10;i++) {
int n= r1.nextInt();//生成随机数,如果n是偶数则进行加法计算,如果是基数则进行减法计算
System.out.println("产生的随机数n是:"+n);
int sum;
int num1= r1.nextInt(100);//生成100以内的随机数
int num2 = r1.nextInt(100);//生成100以内的随机数
if(n%2==0) {//n是偶数则进行加法计算
sum=num1+num2;//100以内加减法数学题
if(sum<=100&&sum>=0) {
System.out.print("第"+i+"题"+num1+"+"+num2+"=");
int sum1=input.nextInt();//输入你的答案
if(sum==sum1) {
System.out.println("回答正确!");
score+=10;}
else
System.out.println("回答错误!正确答案是:"+sum);
}
else {
//System.out.println("产生随机数sum1和sum2错误!");
i-=1;
}
}
else {//n基数则进行减法计算
sum=num1-num2;//100以内加减法数学题
if(sum<=100&&sum>=0) {
System.out.print("第"+i+"题"+num1+"-"+num2+"=");
int sum1=input.nextInt();//输入你的答案
//System.out.println("请输入第"+i+"题的答案"+sum1);
if(sum==sum1) {
System.out.println("回答正确!");
score+=10;}
else
System.out.println("回答错误!正确答案是:"+sum);
}
else {
//System.out.println("产生随机数sum1和sum2错误!");
i-=1;
}
}
System.out.println("现在得分为:"+score);
if(i==10) {
System.out.println("总分100,本次测试最终得分:"+score+"!!!!");
//用字符流把成绩保存起来
BufferedWriter bw=null;//缓冲流效率高,字符流保存文字不出现乱码
try {
file=new File("C:\\\\哈哈\\\\2.txt");
bw=new BufferedWriter(new FileWriter(file,true));
//true实在原来内容上追加,不是覆盖
bw.write("本次测试最终得分:"+score+"!!!!"+"\n");
System.out.println("成绩保存成功!");
}
catch (IOException e) {
e.printStackTrace();
}
finally {
try {
bw.flush();//刷新缓冲区
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}
二、猜数游戏
(1)功能实现:
package projectOne;
import java.util.Random;
import java.util.Scanner;
/*计算机产生随机数,猜中即胜,猜不中,
提示是大了还是小了,继续猜,直至猜到,给出评语。*/
public class GuessNumber {
public static void main(String[] args) {
Random r1 = new Random();//随机数生成对象
int num= r1.nextInt(100);//生成100以内的随机数
Scanner input=new Scanner(System.in);
System.out.println("随机数已产生!");
System.out.print("请输入您猜100以内的数:");
while(true){
for(int i=1;;i++) {//用i来表示一共猜数的次数
int number=input.nextInt();//输入你猜的数
if(number>num) {
System.out.println("您输入的数字大于随机数");
System.out.print("请输入您猜100以内的数:");
continue;}
else if(number System.out.println("您输入的数字小于随机数"); System.out.print("请输入您猜100以内的数:"); continue; } else { System.out.println("恭喜您,猜对了!"); if(i==1) System.out.println("NICE!!!"); else if(i>1&&i<=3) System.out.print("优秀!!!"); else if(i>3&&i<=6) System.out.println("加油哟!!!"); else System.out.println("请多多练习,坚持就是胜利!!!"); System.out.println("您一共输入了"+i+"次!"); break;} } } } }