181111

18111119

目    录

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

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

3.1 系统可行性分析.............................................................................................

3.2 系统需求分析.................................................................................................

3.3 项目进度安排.................................................................................................

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

4.1 系统设计.........................................................................................................

4.2 数据库设计(有则写-无则删除,如果是文件直接写文件)...................

5 系统实现....................................................................................................................

5.1 管理员登录界面实现.....................................................................................

5.2 管理用户信息界面实现.................................................................................

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

7 结论和心得................................................................................................................

 

 

1 选题

选题一

算术运算测试

题目要求

 

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

 

使用Java知识

(1)运用了do-while循环语句

(2)运用了if条件判断语句

(3)运用了String.format(“%.2f”,number)方法对数组进行保留两位输出的方法

(4)运用java的Scanner键盘录入方法

 

选题二

猜数游戏

题目要求

 

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

 

 

使用Java知识

(1)运用了java的Math.Random生成0-1以内的随机数的方法;

(2)运用java的Scanner键盘输入方法

(3)运用了java的while循环方法

(4)运用了java的if条件判断语句方法

 

 

 

 

 


2 系统需求分析

2.1 系统可行性分析

一、技术可行性

      使用Java语言进行程序设计的开发,通过Java实现了程序的各个功能和用户需要进行的相关操作。

 

二、操作可行性

      此次程序设计实验采用的是Eclipse软件执行,运行结果与预期结果相同,达到了设计实验的目的及功能需求。满足用户的需求。

2.2 系统需求分析

一、算数运算测试程序

      a、系统随机生成两个数,并随机产生运算符,进行运算。

      b、用户输入自己的计算结果与计算机的结果对比。

      c、如果结果一致则回复回答正确并成绩加分,相反则回复答案错误。

      d、当答完十道题后,则答题结束,给出你所得成绩,根据你的成绩判断等级。

      e、创建文档并保存你的成绩到文档中。

 

 

       
   
 
     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


算数运算测试功能模块图

 

 

二、猜数游戏

   a、计算机生成随机数,并记录当前时间。

   b、用户输入自己猜想的数字

   c、计算机进行用户猜想的数字判断,并给出相应提示,用户的所猜的数字是大了还是小了。

   d、当用户猜对数字时,计算机提醒用户猜对了,然后给出用户所猜次数,并记录当前时间,然后保存数据到文档。

   e、最后一轮猜数结束后判断游戏是否继续。

 

 

 

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 


猜数游戏功能模块图

2.3 进度安排

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

表3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

1h

需求分析

需求说明,功能模块图

设计阶段

3h

系统设计

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

实现阶段

6h

编写代码

项目工程源代码

2h

系统测试

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

运行阶段

4h

部署、运行

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

 


3 系统设计

3.1 系统设计

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

一、算术测试运算

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

随机测试题目生成模块:先随机产生两个0-100之间的数,再随机生成运算符。判断运算符,然后进行对应的加减运算。

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

成绩记录模块:0分开始,对一个加十分,错误不扣分。

输出模块:输出自己的分数,还有评分等级。

保存模块:将这次的成绩数据保存文档。

二、猜数游戏

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

数字判断模块:输入数字后,给予提示,继续猜,直到猜对为止。

输出模块:输出猜了多少次,输出排行榜

是否继续模块:输入y继续游戏,输入n则退出游戏

保存模块:将这次的成绩数据保存文档。

 

 

 

4 系统实现

一、算术运算代码:

import java.util.Scanner;

//算术运算测试

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

//考虑加减乘除法是否随机给出

public class Suan {

    public static void main(String[] args) {

       final int num=10;

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

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

       int[] num1=new int[num];

       int[] num2=new int[num];

       int[] num3=new int[num];

       int[] sum=new int[num];

       int x=0;

       Scanner input =new Scanner(System.in);

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

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

              x++;

           }else {

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

           }

       }

       System.out.println("答题结束,你的得分为"+x+"分");

       if(x >=9) {

           System.out.println("你的成绩为优");

       }else if(x >= 7) {

           System.out.println("你的成绩为良");

       }else if(x>=6) {

           System.out.println("你的成绩为中");

       }else {

           System.out.println("你的成绩不及格");

       }

          

    }

}

   

 

二、猜数游戏代码

import java.util.Scanner;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Random;

public class GuessGame{

    public static void main(String[] args){

        Random ran=new Random();

    //生成1-100内的随机数(0-99)+1

        int a=ran.nextInt(100)+1;

        System.out.println(a);

        System.out.println("输入你要猜的数:");

        Scanner sc=new Scanner(System.in);

        int count=0;

        while(true){

           int b=sc.nextInt();

           count++;

           if(a<b){

                 System.out.println("你猜的数大了");

           }else if(a>b){

                 System.out.println("你猜的数小了");

           }

           else{

                 System.out.println("恭喜您,您猜对了!!");

                 System.out.println("你一共猜了"+count+"次。");

                 break;

           }

        }

 

            File file = new File("D:\\eclipes\\Shixun\\src\\com\\jieduan\\one\\猜数游戏.txt");//在该目录下生成一个文件

            String content = "你一共猜了"+count+"次,这个数是"+a;//内容

 

            try (FileOutputStream fop = new FileOutputStream(file)) {//创建一个向指定 File 对象表示的文件中写入数据的文件输出流

             if (!file.exists()) {//检查文件是否存在

                    file.createNewFile();

             }

             byte[] contentInBytes = content.getBytes();//把字符编码拆成字节,然后保存在byte数组中

 

             fop.write(contentInBytes);//把字节写进去

             fop.flush();//缓冲区的数据强行输出

             fop.close();//关闭流

 

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

 

            } catch (IOException e) {

             e.printStackTrace();

            }

                  

    }

}

 

5 系统测试

一、算数运算运行测试

 

 

 

 

 

 

 

二.猜数游戏运行测试

 

 

6 结论和心得

       通过这两个自主程序设计,让我知道自己在这门课程上的学习还不够扎实,很多知识点也不能熟练掌握,学习的也不够刻苦认真,我觉得实训是学习JAVA的重要环节,有利于我们巩固专业知识、掌握工作技能、提高就业筹码。通过不足,更应该找清自己的不足来攻克,希望在今后的学习,能顺顺利利!

 

 

 

 

 

posted on 2020-06-28 16:43  181111  阅读(22)  评论(0)    收藏  举报

导航