java项目设计阶段_阶段一 Java程序设计

1 选题

选题一

算术运算测试

题目要求

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

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

添加排行榜功能存放到文件或数据库中

使用Java知识

判断语句

分支

循环和循环的嵌套

随机数的产生

一维数组和二维数组

构造方法 方法调用

等......

选题二

猜数游戏

题目要求

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

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

排行榜存放到文件或数据库中。

使用Java知识

判断语句

分支

循环和循环的嵌套

随机数的产生

一维数组

构造方法 方法调用

文件的创建

文件的写入

等......

2 系统需求分析

2.1 系统可行性分析

技术可行性

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

经济可行性

本次程序所使用的eclipse软件是免费的,我们不需要额外的开销,经济上是可行的

操作可行性

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

2.2 系统需求分析

算术运算测试

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

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

存放到文件或数据库中。

猜数游戏

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

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

排行榜存放到文件

2.3 进度安排

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

表3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

1小时天

需求分析

需求说明,模块图

设计阶段

2小时天

代码设计

设计说明

实现阶段

1.5天

编写代码

项目工程源代码

1天

系统测试

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

运行阶段

3小时

部署、运行

运行报告、录制视频

3 系统设计

3.1 系统设计

算术测试:

构造方法:

import java.util.Random;

public class Calculate{

int result;//用来表示随机数运算后得到的结果

int[][]score=new int[10][10];//定义一个数组来存放成绩

public int addition(){//构造了一个普通方法,产生两个1--100之间的随机数,进行加法运算

Random random1=new Random();//产生第一个随机数random1

int randomNumber1=random1.nextInt(100);

Random random2=new Random();//产生第二个随机数ransdom2

int randomNumber2=random2.nextInt(100);

System.out.println(randomNumber1+"+"+randomNumber2+"=??");

result=randomNumber1+randomNumber2;

return result;

}

public int subtraction(){//构造了一个普通方法,产生两个1--100之间的随机数,进行减法法运算

Random random1=new Random();//产生第一个随机数random1

int randomNumber1=random1.nextInt(100);

Random random2=new Random();//产生第一个随机数random2

int randomNumber2=random2.nextInt(100);

int temp;

if(randomNumber1

temp=randomNumber1;

randomNumber1=randomNumber2;

randomNumber2=temp;

}

System.out.println(randomNumber1+"-"+randomNumber2+"=??");

result=randomNumber1-randomNumber2;

return result;

}

public int panduan(int num1,int num2,int num3,int num4) {//构造了一个普通方法,对用户输入的答案与正确答案进行比较

if(num1==num2) {

System.out.println("恭喜你,回答正确!!");

score[num3][num4]+=10;//回答正确,用户的分数+10分

return score[num3][num4];

}else {

System.out.println("对不起,回答错误!! ");

return score[num3][num4];

}

}

}

主函数:

public class CalculateTest {

public static void main(String[] args) {

}

加减法的运算:

for(i=0;i

System.out.println("第"+(i+1)+"个同学开始测试!!");

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

Calculate A=new Calculate();

for( j=0;j<3;j++) {//进行10次运算

if(j%2==0) {//当j为单数时,进行减法运算,j为双数时,进行加法运算

A.addition();//调用加法的方法

}

else {

A.subtraction();//调用减法的方法

}

System.out.print("请输入你的正确答案:");

anser=input.nextInt();//录入用户的答案

A.panduan(anser,A.result,i,j);//调用方法进行判断

sum[i]+=A.score[i][j];

}

System.out.println("你的总分为:"+sum[i]);

}

文件写入:

try{

File file = new File("Calculate.txt");

if(!file.exists()){

file.createNewFile();

}

// FileWriter fileWritter = new FileWriter(file.getName(),true);

FileWriter fileWritter = new FileWriter(file);

for(int n=0;n

fileWritter.write(sum[n]+"\t");

}

fileWritter.close();

System.out.println("成功写入文件!!");

}catch(IOException e){

e.printStackTrace();

}

}

猜数游戏:

Random a=new Random();

number=a.nextInt(100);//产生0--100的随机数

double begin=0;//定义begin来记录开始的时间

double end=0;//定义end来记录结束的时间

begin = System.currentTimeMillis();//记录产生随机数的时间

for( j=0;guessNumber!=number;j++) {//用for循环来控制猜数,直到猜对为止

guessNumber=input.nextInt();//用户录入猜的数,用guessNumber来记录

amount++;//猜一次,amount就+一次,记录猜的次数

if(number==guessNumber) {//将用户猜的数与随机数进行比较

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

end=System.currentTimeMillis();//猜对了 记录结束时间

}

else if(guessNumber>number) {

System.out.println("对不起,猜大了");

}

else if(guessNumber

System.out.println("对不起,猜小了");

}

try{

File file = new File("GuessNumber.txt");  //写入文件

if(!file.exists()){

file.createNewFile();

}

FileWriter fileWritter = new FileWriter(file);

for(int n=0;n

fileWritter.write(score[n]+"\t");

}

fileWritter.close();

System.out.println("成功写入文件!!");

}catch(IOException e){

e.printStackTrace();

}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值