java课程设计

 

java课程设计_第1张图片

 

 Java课程设计

(阶段一文档)

 

 

    别:   信息科学与工程学院        

 

    业:    计算机科学与技术           

 

    级:     2018级计科一班             

 

学生姓名:              李兴建                 

 

指导老师:              吕向风                

 

二〇二〇年七月

 

目    录

1 选题.......................................................................................................................... 1

2 系统需求分析.......................................................................................................... 2

2.1 系统可行性分析........................................................................................... 2

2.2 系统需求分析............................................................................................... 2

2.3 项目进度安排............................................................................................... 2

3 系统设计.................................................................................................................. 4

4系统实现....................................................................................................... 4

4.1 程序代码....................................................................................................... 4

4.2 系统测试.................................................................................................................. 6

 

 

 

5结论和心得.............................................................................................................. 9

 

 

1 选题

选题一

算术运算测试

题目要求

 

 

实现十道 100 以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。添加排行榜功能存放到文件或数据库中。

使用Java知识

 

 

用双层for循环,BufferedReader用法,switch  case

 

选题二

猜数游戏

题目要求

 

计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。排行榜存放到文件或数据库中。

使用Java知识

 

 

使用random()产生随机数,if语句,starttime和endtime,do-while语句,

Scanner

 

 

 

 

 


2 系统需求分析

2.1 系统可行性分析

一、算数运算测试

1、技术可行性

本次程序运用的是Eclipse这个软件中的GUI插件技术,采用的Java语言,Java面向对象,GUI基础语言,所以技术上是可行的。

2、操作可行性

    实现简单减法运算,操作简单便捷,因此操作上是可行的。   

二、猜数游戏

1、技术可行性

本次程序运用的是Eclipse这个软件中的GUI插件技术,采用的Java语言,Java面向对象,GUI基础语言,所以技术上是可行的。

2、经济可行性

因为本次程序使用的Eclipse软件是免费的,在这个软件上就能满足我们的需求,我们不需要额外的开销,所以经济上也是可行的。

3、操作可行性

本次程序只需要用户有这个软件并配置好了环境变量并且安装WindowBuilder插件就可以使用,操作简单便捷,符合大部用户的使用习惯。因此在操作上是可行的

 

2.2 系统需求分析

一、算数运算测试需求分析

    计算机随机产生两个数字,判断其进行加法运算还是减法运算,用户自己输入答案,然后系统判断答案是否与用户输入的答案一致,测试10次,给出评语和成绩,并将成绩保存到文件中。

  二、猜数游戏需求分析

计算机产生随机数(1-100之间),猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到;猜出后给出猜数次数、成绩及评语。说明:总分100分,每题10分,答错不加分

2.3 进度安排

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

表3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

10分钟

需求分析

需求说明,功能模块图

设计阶段

60分钟

系统设计

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

实现阶段

300分钟

编写代码

项目工程源代码

20分钟

系统测试

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

运行阶段

12分钟

部署、运行

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

 

 

 


3 系统设计

3.1 系统设计

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

1、先进入测试,计算机会随机产生两个数字,判断其是加法运算还是减法运算,然后则开始计算加减法,用户根据算式计算得数,输出后计算机会给出正确答案,并将正确答案与用户给出的答案进行比较,若相同,则答案正确,否则答案错误,连续十题,最后给出用户成绩并保存。
   2、计算机用Random产生随机数,让用户进行猜测,若猜不中,计算机就提示,是猜大了还是猜小了,然后用户继续猜,直至猜到为止。猜到后会根据用户猜数字的次数给出成绩和猜的时间。

4 系统实现

4.1程序代码

 

1、算数运算测试

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

 

public class Test {

       public static void main(String[] args) {       

              int count = 0;            

              BufferedReader in = new BufferedReader(new InputStreamReader(System.in));         

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

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

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

                     int c = (int) (Math.random() * 2);                

                     int r = 0;             

                     switch (c) {               

                     case 0:                       

                            if (a + b >= 100) {                                

                                   a = 100 - b;                      

                            }                         

                            System.out.print(a + " + " + b + " = ");                     

                            r = a + b;                          

                            break;                 

                            case 1:                       

                                   if (a < b) {                               

                                          int t = a;                           

                                          a = b;                                

                                          b = t;                         

                                   }                         

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

                                   r = a - b;             

                            }                  

                     int input;                   

                     try {                           

                            input = Integer.valueOf(in.readLine());             

                            } catch (Exception e1) {                       

                                   System.out.println("答案错误\n");                    

                                   continue;                   

                                   }                  

                     if (input == r) {                       

                            count++;                          

                            System.out.println("答案正确\n");             

                            } else {                      

                                   System.out.println("答案错误\n");             

                                   }           

                     }           

              if (null != in) {                 

                     try {                           

                            in.close();                 

                            } catch (IOException e) {                     

                                   e.printStackTrace();               

                                   }           

                     }           

              System.out.println("答对数量:" + count + "\n得分: " + count * 10);

              }

}

2、猜数游戏

import java.util.Scanner;

 

public class Game {    

    public static void main(String[] args) {         

       Scanner input = new Scanner(System.in);         

       int number = (int) (Math.random() * 100); // 产生随机数         

       int guess;// 用户猜的数字         

       int count = 0;// 猜测次数         

       System.out.println("猜数游戏,猜一猜是多少?");       

       long starttime=System.currentTimeMillis();        // 用户猜测随机数         

       do {             

           guess = input.nextInt();             

           if (number < guess) {                 

              System.out.println("猜大了,再猜!");                 

              count++;             

              } else if (number > guess) {                 

                  System.out.println("猜小了,再猜!");                 

                  count++;             

                  } else {                 

                     count++;                 

                     break;             

                  }         

           } while (true);       

           long endtime=System.currentTimeMillis();                 

           System.out.println("这个数字是"+number);          

           System.out.println("您猜的次数是"+count);        

           System.out.println("您猜的时间是"+((endtime-starttime)/100/60)+"秒");        // 根据猜测次数给出评价         

           if (count == 1) {             

              System.out.println("你太聪明了!");         

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

                  System.out.println("不错,再接再厉!");         

           } else {             

                  System.out.println("要努力啊!");         

           }     

       } 

}

4.2系统测试

选题一:算术运算测试

 

1、产生随机术加减

 

 

2、输入答案比较判断

 

 

 

3、结果

 

 

 

 

选题二:猜数游戏

 

1、产生随机数,开始猜数

 

 

 

2、输入数字判断

 

 

3、成绩和评语

 java课程设计_第2张图片

 

 

 

5结论和心得

通过此次课程设计,使我更加扎实的掌握了有关java方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。

在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退。

最后,感谢老师以及同学们的悉心的教导和热心的帮助,没有他们我自己也不可能完成此次在项目中的任务,也让我明白了团队的重要性。

 

你可能感兴趣的:(java课程设计)