选题一

算术运算测试

题目要求

能计算出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还是很费劲的,自己动手能力还得加强。