Java随机数生成

随机数生成

1
2
3
4
5
6
7
8
9
public class RandomDome {
public static void main(String[] args) {
//创建对象
Random r = new Random();
//通过对象调方法,其中 r.nextInt(10)表示获取数据的返回范围是[0,10)
int i = r.nextInt(10);
System.out.println(i);
}
}

生成3个100-999之间的随机数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class RandomDome {
public static void main(String[] args) {
//创建对象
Random r = new Random();
//通过对象调方法 ,其中 r.nextInt(10),表示获取数据的返回范围是[0,10)
int j = 3;
while(j!=0){
int i = r.nextInt(900);
//此处(i+100)为了调整随机数的生成范围为100-999
System.out.println("i:"+(i+100));
j--;
}
}
}

运行三次结果如下:

  • 第一次:
    1
    2
    3
    i:623
    i:778
    i:699
  • 第二次:
    1
    2
    3
    i:193
    i:763
    i:499
  • 第三次:
    1
    2
    3
    i:584
    i:114
    i:449
    可以看出每次运行产生的随机数都是不同的。

(当然这里产生的随机数,个人直觉告诉我并不是真正的随机,而是伪随机,以后再研究。)

猜数字的游戏

电脑随机生成0-100的整数,我们通过键盘输入来猜。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
* 猜数字小游戏,系统产生一个1-100之间的随机数,请猜出这个数据是多少。
* 分析:
* A:系统产生一个1~100之间的数据,
* B:键盘录入我们要猜的数据
* C:比较这两个数据,用if语句实现。
*/
public class RandomTest {
public static void main(String[] args) {
Random r = new Random();
Scanner sc = new Scanner(System.in);
//生成一个随机数 【0,99】
int RandomNumber = r.nextInt(100);
//调整随机数的范围【1,100】
RandomNumber += 1;
//初始化 GuessNumber
int GuessNumber = 0;
while(GuessNumber != RandomNumber) {
System.out.println("请输入要猜的数字:");
GuessNumber = sc.nextInt();
if(GuessNumber>RandomNumber) {
System.out.print("你猜大了,");
}
else if(GuessNumber<RandomNumber){
System.out.print("你猜小了,");
}
else {
System.out.println("恭喜你,你猜中了!,要猜的数字是:"+RandomNumber);
}
}
}
}

下面是运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
请输入要猜的数字:
50
你猜小了,请输入要猜的数字:
75
你猜小了,请输入要猜的数字:
87
你猜大了,请输入要猜的数字:
82
你猜大了,请输入要猜的数字:
79
你猜大了,请输入要猜的数字:
77
恭喜你,你猜中了!,要猜的数字是:77