项目

   

选题 1

2 系统需求分析 2

2.1 系统可行性分析 2

2.2 系统需求分析 2

2.3 项目进度安排 4

3 系统设计 5

3.1 系统设计 5

3.2 文件 6

4 系统实现 7

4.1 算术运算测试实现 8

4.2 猜数游戏实现 10

5 系统测试 13

6 结论和心得 14

 

 

1 选题

选题一

算术运算测试

题目要求

功能要求:   

实现系统随机生成十道100 以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。并保存最后分数

能力要求:

1.沟通表达能力;2.资料搜集能力;3.自主学*能力;4.时间规划能力;5.独立完成项目能力;6.文档撰写能力;7.面向对象编程思维和软件工程思想。

使用Java知识

 

Java基本输入输入出、运算符、循环、选择分支

选题二

猜数游戏

题目要求

功能要求:

    计算机产生随机数,用户猜数,猜中即胜,猜不中,提示是大了还是小了,每玩完一局后,给出评语,并询问是否继续玩,继续就继续游戏,不继续就退出游戏。

能力要求:

1.沟通表达能力;2.资料搜集能力;3.自主学*能力;4.时间规划能力;5.独立完成项目能力;6.文档撰写能力;7.面向对象编程思维和软件工程思想。

 

使用Java知识

 

循环、分支、变量、常用类等

 

 


系统需求分析

2.1 系统可行性分析

1.技术可行性

本程序运用的是Eclipse软件,采用Java基础知识和Java面向对象以及Java高级特性等方面的知识,硬件上,需要一台电脑,已具备,因此具备技术可行性。

2经济可行性

本程序使用的Eclipse软件是免费的,有关Java知识的课程也是免费的,不需要额外的费用,因此具备经济可行性。

3.操作可行性

本程序操作简单便捷,内容通俗易懂,符合大部用户的使用*惯。因此具备操作可行性。

  1. 法律可行性

    在法律许可范围内。

2.2 系统需求分析

2.2.1算数测试的项目功能分析

根据与老师进行反复沟通,进行需求分析:

1.实现系统随机生成十道100 以内加减法数学题

2.能根据题目计算出答案,与输入答案对比,判断做题是否正确

3.最后计算分数。并保存最后分数

功能模块图如图2-1所示

 

2-1 算法运算测试功能模块图

 

2.2.2猜数游戏的项目功能分析

根据与老师进行反复沟通,进行需求分析:

1.计算机产生随机数

2.用户猜数,猜中即胜,猜不中,提示是大了还是小了

3.每玩完一局后,给出评语

4.并询问是否继续玩,继续就继续游戏,不继续就退出游戏

 

2-2 猜数游戏功能模块图

 

 

 

2.3 进度安排

阶段一进度安排如表2-3所示。

2-3 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

2h

需求分析

需求说明,功能模块图

设计阶段

2h

系统设计

设计说明-可以画流程图;数据库设计

实现阶段

5h

编写代码

项目工程源代码

2h

系统测试

进行黑盒测试(功能测试)-测试说明

运行阶段

5h

部署、运行

系统使用说明、运维报告、录制视频

 

 

 


3 系统设计

3.1 系统设计

根据系统的实际功能需求分析,对系统功能部分进行了设计。

一、算数运算测试

1.随机生成题目模块:

先随机产生两个1-100之间的数,再随机生成0或1的数,0代表加法,1代表减法,随机生成十道加减法题目。并判断两数之和是否小于100,之差是否大于0 。

2.程序测试模块:

用户输入得数,判断是不是1-100之间的数字并判断是否正确,正确继续下一道题,错误,告诉正确答案继续下一道题,直到答完10道题。

3.计分模块:

总分10分,答对一道题加1分,答错不得分

4.保存分数模块:

把分数保存到fenshu.txt文件中。

二、猜数游戏

1.随机数生成模块:

系统随机生成一个一百以内的数。 

2.猜数模块

用户输入数字后,给出提示,如果猜对了,给出评语,如果猜错了,系统会提示猜大了还是猜小了,用户继续猜,直到猜对。

  1. 次数记录模块:猜一次记录一次。
  2. 给予评语模块

给予评语标准:猜数次数为1次,给予评语:“您简直神算子”;

猜数次数为2-5次,给予评语:“还不错哦,我看好你”;

猜数次数为5-10次,给予评语:“再接再厉”;

猜数次数为10次以上,给予评语:“别灰心,再玩几次吧”;

  1. 循环游戏模块:

输入1继续游戏,输入2则退出游戏

 

 

 

3.2 文件

保存文件有两个方案,客户没有具体要求,因为本程序比较简易,采用数据库比较繁琐,所以本程序采用了文件保存方法。

将文件保存到fenshu.txt文件中。如图3-1所示

 

 

 

 

3-1 fenshu.txt文档展示

 

系统实现

4.1 算术运算测试实现

代码如下:

/*算术运算测试:

   实现系统随机生成十道100 以内加减法数学题,能根据题目计算出答案,

  与输入答案对比,判断做题是否正确,

  最后计算分数。并保存最后分数

*/

import java.io.*;

import java.util.Random;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Random rd=new Random();

int scores=0;

int g=0;//存放正确答案

boolean f;

System.out.println("**********一起来做算数题吧!**********");

for(int i=0;i<10;i++) {

f=false;

//控制算数范围,加法和小于100,减法差大于0

while(f==false) {

//a,b为百内随机数,c随机为0(代表+)和1(代表-

//flag是对运算结果验证的布尔值,scores是正确时加一分

int a=rd.nextInt(100);

int b=rd.nextInt(100);

int c=rd.nextInt(2);//c随机生成01

//加法

if(c==0) {

if(a+b<100) {

f=true;

g=a+b;

System.out.println(a+"+"+b+"=?");

}else {f=false;}

//减法

}else if(c==1) {

if(a-b>0) {

   f=true;

   g=a-b;

   System.out.println(a+"-"+b+"=?");

    }else {f=false;}

}

}

 

Scanner input=new Scanner(System.in);

int guess=input.nextInt();

if(guess==g) {

System.out.println("答对啦!");

scores=scores+1;

}else {

System.out.println("算错啦!,正确答案是"+g);

}

}

System.out.println("您的分数为:"+scores+"");

//用字符流保存成绩

FileWriter fw=null;

BufferedWriter bw=null;

try{

fw=new FileWriter("fenshu.txt",true);//true是追加,没true是覆盖

bw=new BufferedWriter(fw);

bw.write("您的测试分数为:"+scores+"\n");

System.out.println("分数保存成功!");

}catch(IOException e) {

e.printStackTrace();

}finally {

try {

bw.flush();//刷新缓冲区

bw.close();

fw.close();

}catch(IOException e) {

e.printStackTrace();

}

}

 

 

}

}

 

 

 

4-1 算术运算测试运行界面展示

 

4.2 猜数游戏实现

import java.util.*;

/*猜数游戏:

  计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,

  每玩完一局后,给出评语

  并询问是否继续玩,继续就继续游戏,不继续就退出游戏。

*/

public class Guess {

public static void main(String[] args) {

System.out.println("**********欢迎来到猜数字游戏!**********");

boolean flag;

int count=1;

Random rd =new Random();

Scanner input=new Scanner(System.in);

int num=rd.nextInt(100)+1;

while(true) {

System.out.println("请您输入一个1-100之间的数字");

int guess=input.nextInt();

if(guess<0||guess>100) {

System.out.println("您猜的数字有误!");

break;

}else {

if(guess>num) {

System.out.println("您猜的数"+guess+"大了!");

count++;

}else if(guess<num){

System.out.println("您猜的数"+guess+"小了!");

count++;

}else {

System.out.println("您猜对啦");

if(count==1) {

System.out.println("您简直是神算子");

}else if(count>1&&count<=5) {

System.out.println("还不错哦,我看好你");

}else if(count>5&&count<=10) {

System.out.println("再接再厉");

}else {

System.out.println("别灰心,再玩几次吧!");

}

System.out.println("您玩得尽兴嘛?是否继续游戏?(1是/2否)");

int result=input.nextInt();

if(result==1) {

num=rd.nextInt(100)+1;

count=1;

}else {

System.out.println("**********您已退出游戏**********");

break;

}

 

}

 

}

}

 

}

 

}

4-2 猜数字游戏运行界面展示

 

 

系统测试

1、算法运算测试中主要对生成题目、计算分数、查看分数的功能模块进行测试,测试结果如表5-1所示。

表5-1 算法运算测试表

编号

测试功能

输入描述

预期结果

运行结果

1

随机生成题目功能

  1. 运行程序
  2. 自动生成三个随机数,组成题目

可以生成题目

正常,与预期结果一致

2

计分功能

1.输入您的计算结果

2系统判断对错

3.答对加一分,答错不得分

可以计分

正常,与预期结果一致

3

查看分数

1.将分数保存到文件

2.打开文件可查看到分数

可以看到分数

正常,与预期结果一致

算法运算测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

 

 

2、猜数游戏中主要对生成随机数、给予评语、循环游戏的功能模块进行测试,测试结果如表5-2所示。

5-2 猜数游戏测试表

编号

测试功能

输入描述

预期结果

运行结果

1

随机生成一个1-100之间的数

1.运行程序

2.自动生成一个百内随机数

可以生成随机数

正常,与预期结果一致

2

给与评语功能

根据您的猜数次数,给出相应评语

可以给予评语

正常,与预期结果一致

3

循环游戏功能

用户输入12来决定是否继续游戏,1是继续,2是退出

可以循环游戏

正常,与预期结果一致

猜数游戏主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

 

结论和心得

心得:

Java学*已经*4个月了,虽然很累,但是觉得学*Java非常充实。通过此次课程设计,我更加深刻的理解了Java程序设计语言的魅力,并且对学*Java有了一些深刻的体会。
   Java虽说是一门语言但不同的是它是一门计算机语言,但也同样是人类发明的语言,就像我们学*母语一样,我们要认真地对待它,使用它,熟透它,我相信我们一定能够很好的运用它。相信自己,就是胜利。

还要感谢老师对自己的教导,每次遇到问题,老师都会耐心地为我解答。


1 选题

选题一

算术运算测试

题目要求

功能要求:   

实现系统随机生成十道100 以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。并保存最后分数

能力要求:

1.沟通表达能力;2.资料搜集能力;3.自主学*能力;4.时间规划能力;5.独立完成项目能力;6.文档撰写能力;7.面向对象编程思维和软件工程思想。

使用Java知识

 

Java基本输入输入出、运算符、循环、选择分支

选题二

猜数游戏

题目要求

功能要求:

    计算机产生随机数,用户猜数,猜中即胜,猜不中,提示是大了还是小了,每玩完一局后,给出评语并询问是否继续玩,继续就继续游戏,不继续就退出游戏。

能力要求:

1.沟通表达能力;2.资料搜集能力;3.自主学*能力;4.时间规划能力;5.独立完成项目能力;6.文档撰写能力;7.面向对象编程思维和软件工程思想。

 

使用Java知识

 

循环、分支、变量、常用类等

 

 


2 系统需求分析

2.1 系统可行性分析

1.技术可行性

本程序运用的是Eclipse软件,采用Java基础知识和Java面向对象以及Java高级特性等方面的知识硬件上,需要一台电脑,已具备,因此具备技术可行

2经济可行性

本程序使用的Eclipse软件是免费的,有关Java知识的课程也是免费的,不需要额外的费用,因此具备经济可行性

3.操作可行性

本程序操作简单便捷,内容通俗易懂,符合大部用户的使用*惯。因此具备操作可行性

4. 法律可行性

    在法律许可范围内。

2.2 系统需求分析

2.2.1算数测试的项目功能分析

根据与老师进行反复沟通,进行需求分析:

1.实现系统随机生成十道100 以内加减法数学题

2.能根据题目计算出答案,与输入答案对比,判断做题是否正确

3.最后计算分数。并保存最后分数

功能模块图如图2-1所示

 

2-1 算法运算测试功能模块图

 

2.2.2猜数游戏的项目功能分析

根据与老师进行反复沟通,进行需求分析:

1.计算机产生随机数

2.用户猜数,猜中即胜,猜不中,提示是大了还是小了

3.每玩完一局后,给出评语

4.并询问是否继续玩,继续就继续游戏,不继续就退出游戏

 

2-2 猜数游戏功能模块图

 

 

 

2.3 进度安排

阶段一进度安排如表2-3所示。

2-3 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

2h

需求分析

需求说明,功能模块图

设计阶段

2h

系统设计

设计说明-可以画流程图;数据库设计

实现阶段

5h

编写代码

项目工程源代码

2h

系统测试

进行黑盒测试(功能测试)-测试说明

运行阶段

5h

部署、运行

系统使用说明、运维报告、录制视频

 

 

 


3 系统设计

3.1 系统设计

根据系统的实际功能需求分析,对系统功能部分进行了设计。

一、算数运算测试

1.随机生成题目模块:

先随机产生两个1-100之间的数,再随机生成0或1的0代表加法,1代表减法随机生成十道加减法题目。并判断两数之和是否小于100,之差是否大于0 。

2.程序测试模块:

用户输入得数,判断是不是1-100之间的数字并判断是否正确,正确继续下一道题,错误,告诉正确答案继续下一道题直到答完10道题。

3.计分模块:

总分10分,答对一道题加1分,答错不得分

4.保存分数模块:

分数保存到fenshu.txt文件中。

猜数游戏

1.随机数生成模块:

系统随机生成一个一百以内的数。 

2.猜数模块

用户输入数字后,给出提示如果猜对了,给出评语,如果猜错了,系统会提示猜大了还是猜小了,用户继续猜,直到猜对。

3. 次数记录模块:猜一次记录一次。

4. 给予评语模块

给予评语标准:猜数次数为1次,给予评语:您简直神算子

猜数次数为2-5次,给予评语:还不错哦,我看好你

猜数次数为5-10次,给予评语:“再接再厉”

猜数次数为10次以上,给予评语:“别灰心,再玩几次吧”

5. 循环游戏模块:

输入1继续游戏,输入2则退出游戏

 

 

 

3.2 文件

保存文件有两个方案,客户没有具体要求,因为本程序比较简易,采用数据库比较繁琐,所以本程序采用了文件保存方法。

将文件保存到fenshu.txt文件中。如图3-1所示

 

 

 

 

3-1 fenshu.txt文档展示


4 系统实现

4.1 算术运算测试实现

代码如下:

/*算术运算测试:

   实现系统随机生成十道100 以内加减法数学题,能根据题目计算出答案,

  与输入答案对比,判断做题是否正确,

  最后计算分数。并保存最后分数

*/

import java.io.*;

import java.util.Random;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Random rd=new Random();

int scores=0;

int g=0;//存放正确答案

boolean f;

System.out.println("**********一起来做算数题吧!**********");

for(int i=0;i<10;i++) {

f=false;

//控制算数范围,加法和小于100,减法差大于0

while(f==false) {

//a,b为百内随机数,c随机为0(代表+)和1(代表-

//flag是对运算结果验证的布尔值,scores是正确时加一分

int a=rd.nextInt(100);

int b=rd.nextInt(100);

int c=rd.nextInt(2);//c随机生成01

//加法

if(c==0) {

if(a+b<100) {

f=true;

g=a+b;

System.out.println(a+"+"+b+"=?");

}else {f=false;}

//减法

}else if(c==1) {

if(a-b>0) {

   f=true;

   g=a-b;

   System.out.println(a+"-"+b+"=?");

    }else {f=false;}

}

}

 

Scanner input=new Scanner(System.in);

int guess=input.nextInt();

if(guess==g) {

System.out.println("答对啦!");

scores=scores+1;

}else {

System.out.println("算错啦!,正确答案是"+g);

}

}

System.out.println("您的分数为:"+scores+"");

//用字符流保存成绩

FileWriter fw=null;

BufferedWriter bw=null;

try{

fw=new FileWriter("fenshu.txt",true);//true是追加,没true是覆盖

bw=new BufferedWriter(fw);

bw.write("您的测试分数为:"+scores+"\n");

System.out.println("分数保存成功!");

}catch(IOException e) {

e.printStackTrace();

}finally {

try {

bw.flush();//刷新缓冲区

bw.close();

fw.close();

}catch(IOException e) {

e.printStackTrace();

}

}

 

 

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4-1 算术运算测试运行界面展示

 

4.2 猜数游戏实现

import java.util.*;

/*猜数游戏:

  计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,

  每玩完一局后,给出评语

  并询问是否继续玩,继续就继续游戏,不继续就退出游戏。

*/

public class Guess {

public static void main(String[] args) {

System.out.println("**********欢迎来到猜数字游戏!**********");

boolean flag;

int count=1;

Random rd =new Random();

Scanner input=new Scanner(System.in);

int num=rd.nextInt(100)+1;

while(true) {

System.out.println("请您输入一个1-100之间的数字");

int guess=input.nextInt();

if(guess<0||guess>100) {

System.out.println("您猜的数字有误!");

break;

}else {

if(guess>num) {

System.out.println("您猜的数"+guess+"大了!");

count++;

}else if(guess<num){

System.out.println("您猜的数"+guess+"小了!");

count++;

}else {

System.out.println("您猜对啦");

if(count==1) {

System.out.println("您简直是神算子");

}else if(count>1&&count<=5) {

System.out.println("还不错哦,我看好你");

}else if(count>5&&count<=10) {

System.out.println("再接再厉");

}else {

System.out.println("别灰心,再玩几次吧!");

}

System.out.println("您玩得尽兴嘛?是否继续游戏?(1是/2否)");

int result=input.nextInt();

if(result==1) {

num=rd.nextInt(100)+1;

count=1;

}else {

System.out.println("**********您已退出游戏**********");

break;

}

 

}

 

}

}

 

}

 

}

4-2 猜数字游戏运行界面展示


5 系统测试

1、算法运算测试中主要对生成题目计算分数查看分数的功能模块进行测试,测试结果如表5-1所示。

5-1 算法运算测试表

编号

测试功能

输入描述

预期结果

运行结果

1

随机生成题目功能

1. 运行程序

2. 自动生成三个随机数,组成题目

可以生成题目

正常,与预期结果一致

2

计分功能

1.输入您的计算结果

2系统判断对错

3.答对加一分,答错不得分

可以计分

正常,与预期结果一致

3

查看分数

1.将分数保存到文件

2.打开文件可查看到分数

可以看到分数

正常,与预期结果一致

算法运算测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

 

 

2、猜数游戏中主要对生成随机数给予评语循环游戏的功能模块进行测试,测试结果如表5-2所示。

5-2 猜数游戏测试表

编号

测试功能

输入描述

预期结果

运行结果

1

随机生成一个1-100之间的数

1.运行程序

2.自动生成一个百内随机数

可以生成随机数

正常,与预期结果一致

2

给与评语功能

根据您的猜数次数,给出相应评语

可以给予评语

正常,与预期结果一致

3

循环游戏功能

用户输入12来决定是否继续游戏,1是继续,2是退出

可以循环游戏

正常,与预期结果一致

猜数游戏主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。


6 结论和心得

心得:

Java学*已经*4个月了,虽然很累,但是觉得学*Java非常充实通过此次课程设计,我更加深刻的理解了Java程序设计语言的魅力并且对学*Java有了一些深刻的体会
   Java虽说是一门语言但不同的是它是一门计算机语言,但也同样是人类发明的语言就像我们学*母语一样,我们要认真地对待它使用它熟透它,我相信我们一定能够很好的运用它。相信自己就是胜利。

还要感谢老师对自己的教导,每次遇到问题,老师都会耐心地为我解答。

 

posted @ 2020-06-30 10:48  xxx12345  阅读(44)  评论(0)    收藏  举报