选题一
算术运算测试
题目要求
能计算出10道以内的随机加减乘除题目,并且对比输入的答案看是否正确,最后给出分数,并把其保存下来
使用Java知识
while循环Scanner方法 输出流保存到文件夹 运算符
选题二
猜数游戏
题目要求
计算机随机产生数,用户输入数字与其比较,猜对了显猜对了 猜错了显示大了还是小了 一直到猜对为止 并询问用户是否继续 直到用户退出才退出 并保存用户猜的次数
使用Java知识
Random随机产生1到100数方法while循环if判断语句
2 系统需求分析
2.1 系统可行性分析
(1)经济可行性:
对于这个测试,我们使用的是免费的eclipse软件,设备一台电脑网络等...总共没有花费一点经济,所以在经济上是可行的。
(2)技术可行性:
我们使用的是java相关知识,所以技术也是可行的。
2.2 系统需求分析
一、算术运算测试
(1)需求分析:
能计算出10道以内的随机加减乘除题目,并且对比输入的答案看是否正确,最后给出分数,并把其保存下来
二.猜数游戏
(1)需求分析:
计算机随机产生数,用户输入数字与其比较,猜对了显猜对了 猜错了显示大了还是小了 一直到猜对为止 并询问用户是否继续 直到用户退出才退出 并保存用户猜的次数
2.3 进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
阶段
持续时间
阶段描述
输出
构思阶段
1h
需求分析
需求说明,功能模块图
设计阶段
1h
系统设计
设计说明-可以画流程图;数据库设计
实现阶段
5h
编写代码
项目工程源代码
1h
系统测试
进行黑盒测试(功能测试)-测试说明
运行阶段
1h
部署、运行
系统使用说明、运维报告、录制视频
3 系统设计
3.1 系统设计
一、算术运算测试
1)功能设计:
计算数学题目,用户输入判断是否正确,正确得一分,错误不得分,并记下游戏次数
二)猜数游戏:
(1)功能设计:
用户进行猜数,猜错了显示猜错了,并提示是猜大了还是小了,一直到用户猜对为止
3.2 文件保存
一 算数运算测试
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class CountDemo1 {
public static void main(String[] args) {
//能计算出10道以内的随机加减乘除题目,并且对比输入的答案看是否正确,最后给出分数,并把其保存下来,保存总共算了几次
int c;
int a,b,result;//ab为算数c为结果result为答案
String character;//运算符
Scanner input=new Scanner(System.in);
CountDemo2 count=new CountDemo2();
System.out.println("答对一题得1分,答错不加分");
for(int i=0;i<10;i++) {
System.out.println("第"+(i+1)+"道数学计算题");
System.out.print("请输入被减数/被加数:");
a=input.nextInt();
System.out.print("请输入运算符:");
character=input.next();
System.out.print("请输入减数/加数:");
b=input.nextInt();
System.out.println("请写出"+a+character+b+"的答案:");
result=input.nextInt();
count.add(a, character, b,result);
System.out.println("您还想继续答题吗,如果不按0退出,按别的继续");
c=input.nextInt();
if(c==0) {
System.out.println("游戏结束!");
break;
}
}
System.out.println("总共写了:"+count.k+"个题");
System.out.println("本次答对:"+count.math+"个题");
System.out.println("总共得了:"+count.score+"分" );
FileOutputStream fos=null;
try {
fos=new FileOutputStream("D:\\yinchen1\\nubber1",true);
String str="一共答了"+count.k+"道题\t"+"总共得了"+count.score+"分";
byte[] word1=str.getBytes();
try {
fos.write(word1,0,word1.length);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("nubber1已保存");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class CountDemo2 {
//实现其需求
int a,b;//两个计算的数
String character;//运算法则
int sum;//结果
int math;//计算答对的数目
int k=0;//计算游戏次数
int score=0;
public void add(int num1,String character ,int num2,int result) {
k++;
this.a=num1;
this.b=num2;
switch(character) {
case "+":sum=num1+num2;break;
case "-":sum=num1-num2;break;
}
if(sum==result) {
System.out.println("恭喜您,答对了!");
math++;
score++;
}
else {
System.out.println("不好意思,您答错了,别灰心下次加油!");
}
}
}
二 猜数游戏
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
public class GuessDemo1{
public static void main(String[] args) {
// TODO Auto-generated method stub
//计算机随机产生数,用户输入数字与其比较,猜对了显猜对了 猜错了显示大了还是小了 一直到猜对为止
//并询问用户是否继续 直到用户退出才退出 并保存用户猜的次数
Random random=new Random();
GuessDemo2 guess1=new GuessDemo2();
int guess;//猜测数字
int k=1;
int num;//中奖次数
int count=0;//游戏次数
Scanner input=new Scanner(System.in);
System.out.println("\t欢迎进入猜数字游戏:");
while(k!=0) {
count++;
System.out.println("请写出你猜测的数字的数字):");
num=(int)(random.nextDouble()*100);
guess=input.nextInt();
guess1.guess2(guess, num);
System.out.println("这次游戏你一共猜测了"+(guess1.i)+"次才猜对了数字");
System.out.println("请问您是否继续游戏,如果不需要c按0退出游戏:");
k=input.nextInt();
}
System.out.println("游戏结束");
System.out.println("您一共玩了"+count+"次游戏");
FileOutputStream fos=null;
try {
fos=new FileOutputStream("D:\\yinchen2\\nubber2.txt",true);
String str="该用户一共猜了"+guess1.i+"次";
byte[] words=str.getBytes();//将字符串打散为字节数组
try {
fos.write(words,0,words.length);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("nubber2已保存!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.util.Scanner;
public class GuessDemo2 {
int guess;//猜测数字
int num;//中奖数字
int a=1;
int i=0;//计算猜第几次猜对
public void guess2(int guess,int num) {
Scanner input=new Scanner(System.in);
this.guess=guess;
this.num=num;
while( a!=0) {
if(this.guess>this.num) {
System.out.println("不好意思,您猜大了,请重新输入:");
this.guess=input.nextInt();
i++;
continue;
}
if(this.guess
System.out.println("不好意思,您猜小了,请重新输入:");
this.guess=input.nextInt();
i++;
continue;
}
if(this.guess==this.num) {
System.out.println("恭喜您,您猜对了!");
i++;
break;
}
}
}
}
5 系统测试
一 算数运算测试
二 猜数游戏
6 结论和心得
虽然平时该学习的都学习了,但是自己做起来还是会很费劲,询问了很多同学查了些许资料,虽然做的不是很好但是努力了做了很久很久。学java还是很费劲的,自己动手能力还得加强。