java yy_java - yyyyyccccc - 博客园
发布日期:2021-06-24 12:43:40 浏览次数:2 分类:技术文章

本文共 4974 字,大约阅读时间需要 16 分钟。

选题一

算术运算测试

题目要求

能计算出10道以内的随机加减乘除题目,并且对比输入的答案看是否正确,最后给出分数,并把其保存下来

使用Java知识

while循环Scanner方法 输出流保存到文件夹  运算符

选题二

猜数游戏

题目要求

计算机随机产生数,用户输入数字与其比较,猜对了显猜对了 猜错了显示大了还是小了 一直到猜对为止 并询问用户是否继续 直到用户退出才退出 并保存用户猜的次数

使用Java知识

Random随机产生1到100数方法while循环if判断语句

2 系统需求分析

2.1 系统可行性分析

(1)经济可行性:

对于这个测试,我们使用的是免费的eclipse软件,设备一台电脑网络等...总共没有花费一点经济,所以在经济上是可行的。

(2)技术可行性:

我们使用的是java相关知识,所以技术也是可行的。

2.2 系统需求分析

一、算术运算测试

(1)需求分析:

能计算出10道以内的随机加减乘除题目,并且对比输入的答案看是否正确,最后给出分数,并把其保存下来

二.猜数游戏

(1)需求分析:

计算机随机产生数,用户输入数字与其比较,猜对了显猜对了 猜错了显示大了还是小了 一直到猜对为止 并询问用户是否继续 直到用户退出才退出 并保存用户猜的次数

2.3 进度安排

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

表3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

1h

需求分析

需求说明,功能模块图

设计阶段

1h

系统设计

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

实现阶段

5h

编写代码

项目工程源代码

1h

系统测试

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

运行阶段

1h

部署、运行

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

3 系统设计

3.1 系统设计

一、算术运算测试

1)功能设计:

计算数学题目,用户输入判断是否正确,正确得一分,错误不得分,并记下游戏次数

二)猜数游戏:

(1)功能设计:

用户进行猜数,猜错了显示猜错了,并提示是猜大了还是小了,一直到用户猜对为止

3.2 文件保存

一 算数运算测试

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;

public class CountDemo1 {

public static void main(String[] args) {

//能计算出10道以内的随机加减乘除题目,并且对比输入的答案看是否正确,最后给出分数,并把其保存下来,保存总共算了几次

int c;

int a,b,result;//ab为算数c为结果result为答案

String character;//运算符

Scanner input=new Scanner(System.in);

CountDemo2 count=new CountDemo2();

System.out.println("答对一题得1分,答错不加分");

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

System.out.println("第"+(i+1)+"道数学计算题");

System.out.print("请输入被减数/被加数:");

a=input.nextInt();

System.out.print("请输入运算符:");

character=input.next();

System.out.print("请输入减数/加数:");

b=input.nextInt();

System.out.println("请写出"+a+character+b+"的答案:");

result=input.nextInt();

count.add(a, character, b,result);

System.out.println("您还想继续答题吗,如果不按0退出,按别的继续");

c=input.nextInt();

if(c==0) {

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

break;

}

}

System.out.println("总共写了:"+count.k+"个题");

System.out.println("本次答对:"+count.math+"个题");

System.out.println("总共得了:"+count.score+"分" );

FileOutputStream fos=null;

try {

fos=new FileOutputStream("D:\\yinchen1\\nubber1",true);

String str="一共答了"+count.k+"道题\t"+"总共得了"+count.score+"分";

byte[] word1=str.getBytes();

try {

fos.write(word1,0,word1.length);

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

System.out.println("nubber1已保存");

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public class CountDemo2 {

//实现其需求

int a,b;//两个计算的数

String character;//运算法则

int sum;//结果

int math;//计算答对的数目

int k=0;//计算游戏次数

int  score=0;

public void add(int num1,String character ,int num2,int result) {

k++;

this.a=num1;

this.b=num2;

switch(character) {

case "+":sum=num1+num2;break;

case "-":sum=num1-num2;break;

}

if(sum==result) {

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

math++;

score++;

}

else {

System.out.println("不好意思,您答错了,别灰心下次加油!");

}

}

}

二 猜数游戏

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Random;

import java.util.Scanner;

public class GuessDemo1{

public static void main(String[] args) {

// TODO Auto-generated method stub

//计算机随机产生数,用户输入数字与其比较,猜对了显猜对了 猜错了显示大了还是小了 一直到猜对为止

//并询问用户是否继续 直到用户退出才退出 并保存用户猜的次数

Random random=new Random();

GuessDemo2 guess1=new GuessDemo2();

int guess;//猜测数字

int  k=1;

int num;//中奖次数

int count=0;//游戏次数

Scanner input=new Scanner(System.in);

System.out.println("\t欢迎进入猜数字游戏:");

while(k!=0) {

count++;

System.out.println("请写出你猜测的数字的数字):");

num=(int)(random.nextDouble()*100);

guess=input.nextInt();

guess1.guess2(guess, num);

System.out.println("这次游戏你一共猜测了"+(guess1.i)+"次才猜对了数字");

System.out.println("请问您是否继续游戏,如果不需要c按0退出游戏:");

k=input.nextInt();

}

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

System.out.println("您一共玩了"+count+"次游戏");

FileOutputStream fos=null;

try {

fos=new FileOutputStream("D:\\yinchen2\\nubber2.txt",true);

String str="该用户一共猜了"+guess1.i+"次";

byte[] words=str.getBytes();//将字符串打散为字节数组

try {

fos.write(words,0,words.length);

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

System.out.println("nubber2已保存!");

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

import java.util.Scanner;

public class GuessDemo2 {

int guess;//猜测数字

int num;//中奖数字

int a=1;

int i=0;//计算猜第几次猜对

public void guess2(int guess,int num) {

Scanner input=new Scanner(System.in);

this.guess=guess;

this.num=num;

while(  a!=0) {

if(this.guess>this.num) {

System.out.println("不好意思,您猜大了,请重新输入:");

this.guess=input.nextInt();

i++;

continue;

}

if(this.guess

System.out.println("不好意思,您猜小了,请重新输入:");

this.guess=input.nextInt();

i++;

continue;

}

if(this.guess==this.num) {

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

i++;

break;

}

}

}

}

5 系统测试

一 算数运算测试

二 猜数游戏

6 结论和心得

虽然平时该学习的都学习了,但是自己做起来还是会很费劲,询问了很多同学查了些许资料,虽然做的不是很好但是努力了做了很久很久。学java还是很费劲的,自己动手能力还得加强。

转载地址:https://blog.csdn.net/weixin_32820131/article/details/114737018 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java synchronized boolean_使用Boolean类型同步锁引起异常的分析
下一篇:java jni调试_JNI C++调试技术?

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月28日 03时15分36秒