项目一作业

 

 

 

 

 

 

 

 

 

Java课程设计

(阶段一文档)

 

       
   
 
     

 

 

 

 

 

 

 

 

 


二〇二〇年七月

 

目    录

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

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

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

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

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

3代码实现.................................................................................................................. 4

4系统测试................................................................................................................... 8

5结论和心得............................................................................................................ 10

 

 

1 选题

选题一

算术运算测试

题目要求:

 

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

使用Java知识

数组,冒泡排序,for循环,math方法产生随机数

 

 

 

选题二

猜数游戏

题目要求:

 

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

使用Java知识

Switch语句,for循环,冒泡排序,数组,math方法产生随机数

 

 

 

 

 

 

 


2 系统需求分析

2.1 系统可行性分析

 

1.  技术可行性

本次程序运用所需软件为eclipse,采用的Java语言,所以技术上是可行的。

2.  操作可行性

本次程序运用了简单的用户键盘录入操作,简单易懂,很好操作,因此在操作上是可行的

2.2 系统需求分析

算术运算测试

功能要求:实现十道 100 以内加减法数学题,能根据题目计算出答案,与输

入答案对比,判断做题是否正确,最后计算分数。

猜数游戏

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

继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。

 

2.3 进度安排

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

表3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

20min

需求分析

需求说明

实现阶段

100min

编写代码

项目工程源代码

20min

系统测试

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

运行阶段

40min

部署、运行

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

 

 

 


3 代码实现

项目一:package shixun1;

 

import java.io.FileNotFoundException;

import java.io.FileWriter;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.Writer;

import java.util.Scanner;

 

public class JiSuan {

      public static void main(String[] args) {

 

            

             int a,b,num;

             Scanner input=new Scanner(System.in);

             System.out.println("请输入需要进行计算的人数:");

             int n=input.nextInt();

             int[] str=new int[n];

             for (int x = 0; x < n; x++) {

                    int sum=0;

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

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

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

                           if (i % 2 == 0) {

                                  System.out.println("***********************************");

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

                                  System.out.println("***********************************");

                                  System.out.println("请输入您的答案:");

                                  num = input.nextInt();

                                  if (num == a + b)

                                         sum++;

                           } else {

                                  System.out.println("***********************************");

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

                                  System.out.println("***********************************");

                                  System.out.println("请输入您的答案:");

                                  num = input.nextInt();

                                  if (num == a - b)

                                         sum++;

                           }

                          

                    }

                    str[x]=sum;

                    System.out.println("第"+(x+1)+"位同学的得分为:" +sum);

                   

             }

             for(int i=0;i<str.length;i++) {

                    for(int j=0;j<str.length-1-i;j++) {

                           if(str[j]<str[j+1]) {

                                  int temp;

                                  temp=str[j];

                                  str[j]=str[j+1];

                                  str[j+1]=temp;

                           }

             }

             }

             for(int i=0;i<str.length;i++) {

                    System.out.println(str[i]);

             }

      }

     

}

 

项目二:package shixun2;

 

import java.util.Scanner;

 

public class CaiMi {

 

    public static void main(String[] args) {

        int b;

        int num=1;

        double begin,end,time,sum;

        System.out.println("请输入需要进行猜数的人数:");

        Scanner input=new Scanner(System.in);

        int n=input.nextInt();

        double[] str=new double[n];

        for (int x = 0; x < n; x++) {

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

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

            begin =System.currentTimeMillis();

            while((b=input.nextInt())!=a) {

                if(a>b) {

                   System.out.println("对不起,您猜小了!请重新猜测!");

                   num++;

                }else{

                   System.out.println("对不起,您猜大了!请重新猜测!");

                   num++;

                }

            }

            end = System.currentTimeMillis();

            time=end-begin;

            sum=100-num*time/10000;

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

            System.out.println("您所用时间为:"+time/1000+"秒!");

            str[x]=sum;

            int z=(int)sum/10;

            switch(z) {

            case 9:

            case 8:

                System.out.println("您的猜谜速度很快,请继续保持!");

                break;

            case 7:

            case 6:

                System.out.println("您的猜谜速度较快,但还可以提升!");

                break;

            case 5:

            case 4:

            case 3:

            case 2:

            case 1:

                System.out.println("您的猜谜速度较慢,要继续加油!");

                break;

            }

        }

        for(int i=0;i<str.length;i++) {

            for(int j=0;j<str.length-1-i;j++) {

                if(str[j]<str[j+1]) {

                   double temp;

                   temp=str[j];

                   str[j]=str[j+1];

                   str[j+1]=temp;

                }

        }

        }

        for(int i=0;i<str.length;i++) {

            System.out.println(str[i]);

        }

 

    }

}

 

5 系统测试

本小节主要介绍按照功能模块进行测试说明,每个模块一段描述一个表,最后总结。撰写可参考灰色底纹部分。

项目一:

 

 

项目二:

 

 

 

 

 

5 结论和心得

心得:

在得到项目要求得时候,不能像一个无头苍蝇一样随便去做,而是要先进行项目分析,在分析中得到我们要运用到得Java知识。最好是做个笔记,然后根据笔记思路来一步一步去实现项目要求。

 

posted @ 2020-06-29 11:10  诸彧  阅读(9)  评论(0)    收藏  举报