Random
Random类用来生成随机数字。使用起来也是三个步骤;
1:导包
import java.util.Random
2:创建
Random r = new Random();//小括号当中留空即可
3:使用
获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt()
import java.util.Random;
public class demo01Random {
public static void main(String[] args) {
//创建
Random r1 = new Random();
//产生5个随机数
int num1;//接收产生的随机数
for(int i = 1; i <= 5; i++){
num1 = r1.nextInt();
System.out.println("产生的随机数为:"+num1);
}
}
}
获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(100)//[0,100)
import java.util.Random;
public class demo01Random {
public static void main(String[] args) {
//创建
Random r1 = new Random();
int num1;//接收产生的随机数
for(int i = 1; i <= 50; i++){
num1 = r1.nextInt(10);//[0,10)
System.out.println("产生的随机数为:"+num1);
}
}
}
下面为两个小的测试,可以加强你对Random类的理解:
1:根据int变量n的值,来获取随机数字,范围是[1,n],可以取到1也可以取到n.
import java.util.Random;
import java.util.Scanner;
public class demo02Random {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//定义一个变量用于接收从键盘上输入的值,随机数产生的值要在[1,n]区间上
int n = sc.nextInt();
Random r = new Random();
int num;//用于接收随机数
for(int i = 1; i <= 10; i++){
num = r.nextInt(n)+1;//本来产生的随机数为[0,n),加一之后变为[1,n+1)---->[1,n]
System.out.println(num);
}
}
}
2:用代码模拟猜数字小游戏
思路:
1:首先需要产生一个随机数字,并且一旦产生不再变化。用Random的nextInt方法
2:需要键盘输入的数字,所以用到了Scanner;
3:获取键盘输入的数字,用Scanner当中的nextInt方法;
4:已经得到了两个数字,判断(if)一下
如果太大了,提示太大了,并且重试;
如果太小了,提示太小了,并且重试;
如果猜中了,游戏结束;
5:重试就是再来一次,循环;
import java.util.Random;
import java.util.Scanner;
public class demo03RandomGame {
public static void main(String[] args) {
Random r = new Random();
int randomNum = r.nextInt(100)+1;//定义一个随机数用于接收[1,100]区间内的一个随机数
System.out.println("请输入数字:");
while (true){//有循环就要有结束的标志
Scanner sc = new Scanner(System.in);
int guessNUm = sc.nextInt();//定义一个用于接收从键盘输入的数,也是你所菜的
if(randomNum > guessNUm){
System.out.println("你猜的数字太小了,请重试:");
}else if(randomNum < guessNUm){
System.out.println("你猜的数字太大了,请重试:");
}else {
System.out.println("恭喜你,猜对了");
break;//猜对之后要跳出循环,有循环就要有结束的标志
}
}
System.out.println("游戏结束!");
}
}