Java Random 随机数

Java Randow 类提供的方法

protected int next(int bits)
生成下一个伪随机数。
boolean nextBoolean()
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
void nextBytes(byte[] bytes)
生成随机字节并将其置于用户提供的 byte 数组中。
double nextDouble()
返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
float nextFloat()
返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
double nextGaussian()
返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。
int nextInt()
返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n)
返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
long nextLong()
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
void setSeed(long seed)
使用单个 long 种子设置此随机数生成器的种子。

Java Random 使用示例

public class Test
{
	public static void main(String[] args) {
		Random r = new Random();
		// 初始化
		System.out.println("数据范围[0, 100), 结果为 =>  " + r.nextInt(100));
	}
}

运算结果为

数据范围[0, 100), 结果为 =>  24

注意结果是随机的,数据范围[0, 100)

Java Random 小游戏(石头剪刀布游戏)

游戏规则说明

  • 1 表示石头
  • 2 表示剪刀
  • 3 表示布

它们的关系是 石头 > 剪刀, 剪刀 > 布, 布 > 石头

import java.io.IOException;
import java.util.Random;
import java.util.Scanner;

public class Test
{
	public static void main(String[] args) {
		Random r = new Random();
		Scanner scanner = new Scanner(System.in);
		while (true) {
			 System.out.println("请输入:");
			 int number = r.nextInt(3)+1;
				int input = scanner.nextInt();

				if(number == 1)
				{
					if( input == 1)
					{
						System.out.println("你和机器人都是出了石头,平局");
					}
					else if(input == 2)
					{
						System.out.println("你出了剪刀和机器人出了石头,很遗憾输了");
					}
					else if(input == 3)
					{
						System.out.println("你出了布和机器人出了石头,恭喜你赢了");
					}
					else
					{
						System.out.println("非法输入 = " + input + ",  1<= x <= 3");
					}
				}
				else if(number == 2)
				{
					if( input == 1)
					{
						System.out.println("你出了石头和机器人出了剪刀,恭喜你赢了");
					}
					else if(input == 2)
					{
						System.out.println("你和机器人都是出了剪刀,平局");
					}
					else if(input == 3)
					{
						System.out.println("你出了布和机器人出了剪刀,很遗憾输了");
					}
					else
					{
						System.out.println("非法输入 = " + input + ",  1<= x <= 3");
					}
				}
				else  if(number == 3)
				{
					if( input == 1)
					{
						System.out.println("你出了石头和机器人出了布,很遗憾输了");
					}
					else if(input == 2)
					{
						System.out.println("你出了剪刀和机器人出了布,恭喜你赢了");
					}
					else if(input == 3)
					{
						System.out.println("你出了布和机器人出了布,平局");
					}
					else
					{
						System.out.println("非法输入 = " + input + ",  1<= x <= 3");
					}
				}

		}

	}
}

运行游戏

请输入:
1
你和机器人都是出了石头,平局
请输入:
2
你和机器人都是出了剪刀,平局
请输入:
3
你出了布和机器人出了布,平局
请输入:
1
你出了石头和机器人出了布,很遗憾输了
请输入:
1
你和机器人都是出了石头,平局
请输入:
2
你出了剪刀和机器人出了布,恭喜你赢了
请输入:
1
你和机器人都是出了石头,平局
请输入:
3
你出了布和机器人出了剪刀,很遗憾输了
请输入: