首页 > 其他 > 详细

阶段一

时间:2020-06-27 14:05:19      阅读:87      评论:0      收藏:0      [点我收藏+]

1 选题

选题一

算术运算测试

题目要求

 

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

 

 

 

 

使用Java知识

 

Java用户键盘录入功能、基本运算符、生成随机数、if判断、for循环、io流、

 

 

 

选题二

猜数游戏

题目要求

 

 

计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,
继续猜,直至猜到,表示猜的次数

 

 

 

 

使用Java知识

 

生成随机数、利用布尔类型变量树立旗帜、用户键盘录入功能、do-while循环

 

 

 

 

 

 

 


系统需求分析

2.1 系统可行性分析

1.技术可行性

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

2.操作可行性

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

2.2 系统需求分析

一、算术运算测试

1、功能分析:

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

a、系统随机生成两个数和运算符,由用户进行计算

b、系统对您输入的答案进行判断。

c、最后系统将统计最后正确的答案,得到分数。系统将输入的数字与计算机随机生成数的和进行比较,输入的数与随机数的和不相等,系统将提醒您,答案错误,继续答题一直答完10道题。

d、分数保存到文件中并进行排行

2.模块图

 技术分享图片

 

 

二、猜数游戏

1.功能分析

a.随机生成数:通过调用random包,随机产生一个1-100之间的数

b用户输入答案:通过写scanner,从而使用户自行输入答案

c判断是否猜对:通过if语句,判断用户输入与随机数是否相等

d给出回复:如果相同,则提示猜对了,如果猜的偏大,则提示偏大,反之,则提示偏小

e记录次数:猜对后给出最终的猜数次数

  1. 模块图

 技术分享图片

 

 

 

2.3 进度安排

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

3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

2h

需求分析

需求说明,功能模块图

设计阶段

2h

系统设计

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

实现阶段

6h

编写代码

项目工程源代码

2h

系统测试

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

运行阶段

6h

部署、运行

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

 

 

 


3 系统设计

3.1 系统设计

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

一、算术测试运算

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

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

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

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

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

随机生成数:通过调用random包,随机产生一个1-100之间的数

用户输入答案:通过写scanner,从而使用户自行输入答案

判断是否猜对:通过if语句,判断用户输入与随机数是否相等

给出回复:如果相同,则提示猜对了,如果猜的偏大,则提示偏大,反之,则提示偏小

记录次数:猜对后给出最终的猜数次数

 

系统实现

4.1 运算界面

1.算术运算测试

 技术分享图片

 

 技术分享图片

 技术分享图片

 

 

 

2.猜数游戏

 技术分享图片

 

 

 

4.2 代码实现

1.算术运算测试

package js;

import java.io.*;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Random;

import java.util.Scanner;

 

public class js1 {

static ArrayList<Integer> al=new ArrayList<Integer>();

static Object[] counts;

public static void main(String[] args) {

 

int count = 0;//计算正确次数

Random r =  new Random();

        Scanner input = new Scanner(System.in);

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

      //生成两个随机数

    int num1=r.nextInt(100);

    int num2=r.nextInt(100);     

      //加法

    if(num1<num2) {

     System.out.println(num1+"+"+num2+"=?");

        int answer = input.nextInt();

        if(answer==num1+num2) {//判断是否正确

          count++;

System.out.println("回答正确!**********您共答对"+count+"");

          }else {

System.out.println("回答错误!**********您共答对"+count+"");

             }

     }

 

      //减法

          if(num1>num2) {

             System.out.println(num1+"-"+num2+"=?");

             int answer = input.nextInt();

          if(answer==num1-num2) {

             count++;

             System.out.println("回答正确!***********您共答对"+count+"");

          }else {

             System.out.println("回答错误!***********您共答对"+count+"");

          }

       }

    }    

System.out.println(" 您的分数是:"+count);

 

js1.Ranking( count);

 

try {

 BufferedReader br=new BufferedReader(new FileReader("D:\\paihang.txt"));

String count1=null;

while((count1=br.readLine())!=null) {

al.add(Integer.valueOf(count1));

counts =al.toArray();

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

 

Arrays.sort(counts);

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

if((int)counts[i]==count) {

System.out.println("您的排名是"+(counts.length- i));

}

}

 

}

public static void Ranking(int count) {

FileWriter fw=null;

BufferedWriter bw=null;

 

// FileReader reader=null;

 

 

try {     //try catch捕获异常

//输入

fw=new FileWriter("D:\\paihang.txt",true);    //分数录入

bw=new BufferedWriter(fw);

String s=Integer.toString(count);

bw.write(s);  //记录分数

bw.write("\n");

bw.flush();

System.out.println("操作完毕!---"+count);

bw.close();

}

catch (IOException e) {

e.printStackTrace();

}

}

}

 

2.猜数游戏

import java.util.Scanner;

 

public class cs {

 public static void main(String[] args) {

 

      boolean  flag = false;

 

      //生成随机数

 

          Random r =  new Random();

 

          int num1=r.nextInt(100);//num1--中奖数

 

int count = 0;

 

          do {

 

                count++;

 

              //用户输入数字

 

                 Scanner input = new Scanner(System.in);

 

                 int num2 =input.nextInt();//num2–猜数

 

                 if(num1==num2) {

 

      System.out.println("恭喜你猜对了!共猜了"+count+"");

      System.out.println("保持状态,继续努力!");

                    flag = true;

 

                 }else if (num1<num2) {

 

                    System.out.println("太大了!");

 

                    flag = false;

 

                 }else if(num1>num2) {

 

                    System.out.println("太小了!");

 

                    flag = false;

                 }

          }

          while(flag=true);

         

   }

}

 

 

结论和心得

通过本次课程设计,我更加深刻的理解了,算法是各种设计语言的基础,但是只有算法,我们还有很多解决不了的实际问题,而Java的核心是面向对象,面向对象可以解决生活中的很多例子,在日后的生活学习中,一定努力学习Java程序设计语言的强大功能,提升自己的编程水平。

阶段一

原文:https://www.cnblogs.com/j1402204273/p/13198171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!