程序设计文档

 

 

 

 

 

Java课程设计

(阶段一文档)

 

 

 

 

 

 

 

 

二〇二〇年七月


   

1 选题 1

2 系统需求分析 2

2.1 系统可行性分析 2

2.2 系统需求分析 2

2.3 进度安排 4

3 系统设计 5

4 系统实现 6

4.1 代码实现 6

4.2 运行界面截图 9

5 结论和心得 10

 


1 选题

选题一

算术运算测试

题目要求

 

 

实现10随机的加减乘除数学题,能题目计算出答案,与用户输入自己运算的答案相对比,最后给予分数。

 

 

 

使用Java知识

运用了数组、Math类的Random()方法、Scannerif elsefor循环

 

选题二

猜数游戏

题目要求

 

 

随机产生随机数,用户进行猜数,答案胜利,(进行判断是否进行下一次猜数),答错给予(猜大猜小),然后继续猜数,直到猜对为止,纪录用户猜数次数。

 

 

 

使用Java知识

 

运用了Math类的Random()方法、Scannerif elsedo while循环

 

 

 

 

 

 

 

 


2 系统需求分析

2.1 系统可行性分析

一、技术可行性

Java语言目前是世界上运用最为广泛的计算机语言,也是最为可行的语言。

二、操作可行性

本次设计实验采用的是Eclipse软件执行,此软件操作便利。满足我们大学生目前的所有实验要求,只要配置好电脑环境变量。

2.2 系统需求分析

一、猜数字测试

1、功能分析

根据老师指导

设计一个猜数字游戏程序,有如下要求:

a、 得到一个100以内的随机数。

b、 对用户输入的数字进行判断,是否与随机数相同。

c、 输入的数比随机数小,系统将提醒您,猜小了,请重新输入。

d、 输入的数比随机数大,系统将提醒您,猜大了,请重新输入。

e、 系统会记录下来猜数的次数,游戏结束后会显示用户猜了多少次。

f、 游戏结束时,可以选择关闭或者继续游戏。

 

2、模块图

猜数字模块:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-1 猜数模块图

 

 

 

二、算术计算题测试

1、功能分析:

设计一个算术运算测试,有如下要求:

a、 根据系统给予的随机题目,填写正确答案。

b、 系统对用户输入的答案进行判断,正确加一分,错误不加分。

c、 10道题过后会告诉用户的总得分

 

 

 

  

2、模块图

算术计算题:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-2 计算模块图

 

 

 

 

 

 

 

2.3 进度安排

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

2-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

2h

需求分析

需求说明,功能模块图

设计阶段

2h

系统设计

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

实现阶段

10h

编写代码

项目工程源代码

2h

系统测试

测试程序

运行阶段

2h

运行

录制视频


3 系统设计

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

一、猜数游戏

随机数生成模块:运行过后,系统生成一个随机数。

数字判断模块:输入数字后,正确则选择结束与否,错误则继续猜。

输出模块:输出用户猜数次数。

是否继续模块:输入大于0继续游戏,输入小于0则退出游戏

二、算术测试运算

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

随机测试题目生成模块:产生两个0-100之间的随机数,再生成随机运算符。

题目测试模块:输入得数,判断是不是与系统给出的正确答案相等,正确继续  下一道题,错误,告诉正确答案继续下一道题。

成绩记录模块:满分10分(从0开始),答对一个加一分,答错不加分。

输出模块:输出自己的分数。


系统实现

4.1 代码实现

 

算数测试运算代码package xiangmuyi;

import java.util.Scanner;

//算数运算测试

//实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。

public class jiajiangame{

public static void main(String[] args) {

 

 

final int num0 = 10;

char[] zf= {'+','-','*','/'};

System.out.println("欢迎进入算数运算测试程序,下面将进行"+num0+"道随机运算题,请输入正确的答案");

int[] num1 = new int[num0];

int[] num2 = new int[num0];

int[] num3 = new int[num0];

int[] sum = new int[num0];

int a=0;

Scanner input = new Scanner(System.in);

 

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

 

char z = zf[(int) (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("此题回答正确");

a++;

}else {

System.out.println("此题回答错误,正确答案为:"+sum[i]);

}

}

System.out.println("答题结束,您的得分为:"+a+"分");

 

}

 

}

猜数代码:package xiangmuyi;

import java.util.Scanner;

//猜数游戏

//计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,记录用户所猜次数。

public class caishugame{

 

public static void main(String[] args) {

 

 

Scanner input = new Scanner(System.in);

int a=0,b=1;

do {

 

System.out.println("欢迎进入猜数游戏,接下来将生成一个100以内的随机数,猜对结束");

int num = (int)(Math.random()*100);

 

while(true) {

System.out.println("请您输入所猜的数字");

int num1 = input.nextInt();

if(num1==num) {

System.out.println("恭喜您猜数正确,您一共猜了"+b+"次");

break;

}else if(num1>num){

System.out.println("您猜的数字大于正确数字");

b++;

}else if(num1<num) {

System.out.println("您猜的数字小于正确数字");

b++;

}

}

b=1;

System.out.println("如果想进行下轮游戏请输入一个比0大的数");

a = input.nextInt();

 

}while(a>0);

System.out.println("游戏结束");

 

 

}

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.2 运行界面截图

算数运算测试:

4-1算数测试图

 

 

4-2算术测试图

猜数:

 

4-3猜数图

 

 

 

4-5猜数图


 

 

结论和心得

结论:通过这次个人课程设计,我对以前生疏的知识再次融会贯通

心得:经过这次个人练习,复习了这学期学的部分基础Java知识,如Mathrandom() 方法、数组的定义,等等。很多东西,虽然表面上已经了解,但是到真正用的时候才会发现自己的缺陷。要不断实践,去练习写代码才会避免陷入窘境。

写代码本身就是不断练习的事情,不用则退,要持续每天练习。

 

posted @ 2020-06-24 18:59  18111326刘  阅读(27)  评论(0)    收藏  举报