本篇文章所实现的是Java经典的猜数字游戏 , 运用简单代码来实现基本功能
目录
一.题目要求
二.游戏准备
三.代码实现
一.题目要求
随机生成一个1-100之间的整数(可以自己设置区间),提示用户猜测,猜大提示"猜大了",猜小提示"猜小了",共有5次机会,都未猜中输出"游戏失败!",用户输入[1,100]范围外的数字,输出"输入错误,游戏结束" , 若在五次机会内猜中则输出"猜对了!游戏成功!"
二.游戏准备
使用Random类
Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,
注意:产生的随机数是伪随机数
真随机数:是通过物理现象生成的,例如掷硬币、骰子、电子元件的噪音等。这些物理现象的结果是不可预测的,因此生成的随机数也是完全随机的。真随机数通常需要专门的硬件设备来生成,成本较高,但在需要高度安全性和随机性的场景中,如密码学中的加密密钥生成,真随机数是必不可少的。---百度
伪随机数是通过算法生成的,看起来像是随机的数值。伪随机数生成器,使用一个初始值(种子)和一定的计算方法来生成随机数。只要种子和算法相同,生成的随机数序列也是相同的。因此,伪随机数实际上是可预测的,但由于其周期较长,通常在大多数应用中已经足够使用。---百度
Random类具体使用步骤:
1.Random类位于Java.util中,在使用前需要导入该包
import java.util.Random;
2.创建Random对象
Random random = new Random();
3.使用nextInt(int bound)方法 生成随机整数
int random_number = random.nextInt(100);
注意: random类中生成随机整数的方法有两种
nextInt() | nextInt() 默认生成的整数范围是int类型的取值范围 |
nextInt(int bound) | 生成[0,bound)范围的随机数(bound的是我们括号内所输入的数字) |
而在本题中我们想生成一个范围在[1,100]的随机数所以我们使用第2种方法
如果我们所输入的数字是100 , 由于右侧是开区间 , 所以真正的整数范围是[0,99] , 如果想要范围在[1,100]的整数我们可以为此范围整体加1,即为
int random_number = random.nextInt(100)+1;
三.代码实现
import java.util.Random;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Random random = new Random();//默认随机种子是系统时间
int random_number = random.nextInt(100)+1;
Scanner scanner = new Scanner(System.in);
int number=0;
System.out.println("您共有五次机会猜数字,范围:[1,100]");
while(true){
number++;
if(number>5) {
System.out.println("游戏失败!");
break;
}
System.out.println("请输入: ");
int guessNumber = scanner.nextInt();
if(guessNumber>100||guessNumber<1){
System.out.println("输入错误,游戏结束");
break;
}
if(guessNumber>random_number){
System.out.println("猜大了");
}else if(guessNumber<random_number){
System.out.println("猜小了");
}else{
System.out.println("猜对了!游戏成功!");
break;
}
}
scanner.close();
}
}
本篇文章仅使用最简单的程序来实现猜数字小游戏大家有兴趣的可以尝试实现循环开始游戏,
我也会在后续的内容中为大家更新!