5.17 结对作业
猜数字游戏
1、掌握基本输入输出。
2、掌握方法定义与调用,理解参数传递方式。
3、掌握数组的声明、定义与初始化,数组的处理。
4、掌握数组作为方法参数和返回值。
实践要求
利用方法、数组、基本输入输出等Java基础知识,给出所选项目的基本设计与实现。
项目需求
所选项目名称:猜数字游戏
项目需求描述:猜数字游戏,通过用户输入的数值与随机产生的数值进行对比,提示用户完成猜数字。
项目设计方案
该项目主要是调用了Math方法中的random来产生一个随机数,然后用户输入的数据与随机数进行比较。根据比较结果屏幕给出提示信息。回答正确后,程序停止。
五、核心算法详细设计
1、获取随机数
根据试验内容可知,此次做的是猜数字的程序,既然是猜数字,必定会用到随机数,也就少不了使用Math类中的random()方法,其格式为(int)(Math.random() * 101)用于返回int型 值,该值在0到100之间。返回值是一个随机选择的数。这样一来可以得到获取随机数的方法:
int number = (int)(Math.random() * 101);
2、判断答案正确性
用户输入一个猜测的数值,按回车键,如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止。代码如下:
public static void yanzheng(int guess) {
if (guess == number){
System.out.println("恭喜你答对了!");
System.exit(0);
}else if (guess > number)
System.out.println("大了");
else
System.out.println("小了");// 用if语句判断你输入的数字与所给的随机数比较
}
3、功能测试
既然思路出来了,做起来也就方便了。在上面模型里进行添加:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import java.util.Scanner; public class TesGussNumber { public static int number = (int) (Math.random() * 101); static Scanner input; public static int shuru() { input = new Scanner(System.in); System.out.println("请猜测一百以内的数字:"); int guess = input.nextInt(); return guess; } public static void yanzheng(int guess) { if (guess == number){ System.out.println("恭喜你答对了!"); System.exit(0); }else if (guess > number) System.out.println("大了"); else System.out.println("小了"); } package Juxing; public class Test { public static void main(String[] args) { GussNumber gn=new GussNumber(); while(true) { int x=gn.shuru(); gn.yanzheng(x); } } }
|
上表第3行中是使用Math中的random来获取一个随机数。
第5~10行是从系统中输入一个数,用于比较随机数。并且返回guess值。
第11~19行,验证用户输入的数据与随机产生的数据是否一样。提示相应的信息,让用户继续输入。如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止
最后 Test类中调用该方法。
4、流程图
完整源码:给出完整的源代码。如:
构造方法:
package Juxing;
import java.util.Scanner;
public class TesGussNumber {
public static int number = (int) (Math.random() * 101);// 调用Math方法中的random,// 来获取一个随机数。math中全部是double型,所以强制转换成int型
static Scanner input;
public static int shuru() {
input = new Scanner(System.in);// 输入一个猜测数值
System.out.println("请猜测一百以内的数字:");
int guess = input.nextInt(); // 输入你猜测的数字
return guess;
}
public static void yanzheng(int guess) {
if (guess == number){
System.out.println("恭喜你答对了!");
System.exit(0);
}else if (guess > number)
System.out.println("大了");
else
System.out.println("小了");// 用if语句判断你输入的数字与所给的随机数比较
}
}
测试:
package Juxing;
public class Test {
public static void main(String[] args) {
GussNumber gn=new GussNumber();
while(true) {
int x=gn.shuru();
gn.yanzheng(x);
}
}
}
没有测试成功
七、使用说明与运行结果截图
使用说明:程序运行开始会随机产生一个数值,屏幕提示“请猜测一百以内的整数”,用户输入一个猜测的数值,按回车键,如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止。
运行结果截图:
八、实践总结
在本次实践中我学会很多,在任何时候遇到的困难只要付出努力都会得到解决,这次试验也让我懂得,课堂知识和实践结合在一起才能掌握的更好,以后我会更认真学习这门课程,
https://github.com/grace321/zcy/tree/master
本人与朱春雨组队
她负责代码我负责测试