javaSE --基础部分 Random
Random
在java中要生成一个指定范围之内的随机数字有两种方法: 一种是调用Math 类的 random() 方法,一种是使用 Random类。
Random 类提供了丰富的随机数生成方法,可以产生boolean,int,long,float, tyte数组以及 double类型的随机数,这是它与 random() 方法最大的不同之处,random() 方法只能产生double类型的0~1的随机数。
Random类位于java.util包中,该类常用的如下两个构造方法。
Random()
Random(long seed):使用单个long类型的参数创建一个新的随机数生成器。
Random的作用和使用步骤
作用:用于产生一个随机数
使用步骤:
1.导包
import java.util.Random;
导包的动作必须出现在类定义的上面
2.创建对象
Random r = new Random();
上面这个格式里面,r是变量名,可以变,其他的都不允许变
3.获取随机数
int number = r.nextInt(10);//获取数据的范围 : [0.10] 包括0,不包括10
上面这个格式里面,number是变量名,可以变,数字10可以变,其他都不允许变
package test;
import java.util.Random;
public class code19 {
/*
Random:产生随机数
1.导包:import java.util.Random;
导包的动作必须出现在类定义的上面
2.创建对象: Random r = new Random();
上面这个格式里面,r是变量名,可以变,其他的都不允许变
3.获取随机数: int number = r.nextInt(10); //获取数据的范围: (0,10) 包括0,不包括10
上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许变
需求:产生随机数1-10之间的
*/
public static void main(String[] args) {
//2.创建对象
Random r = new Random();
for (int i = 1; i <= 10; i++){
//3.获取随机数
int num = r.nextInt(10) + 1; //1-10
System.out.println(num);
}
}
}
案例:猜数字
需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
分析:
1.要完成猜数字的游戏,首先需求有一个要猜的数字,使用随机数生成该数字,范例1到100
Random r = new Random();
int number = r.nextInt(100)+1;
2.因为无法预知几次能猜中,因此需要有一个要猜的数字,使用随机数生成该数字,范围1到100
while (条件) { }
3.使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现
Scanner sc = new Scanner(System.in);
int guessNumber = sc.nextInt();
4.比较输入的数字和系统产生的数据,需要使用分支语句,这里使用if…else…if…格式,根据不同情况进行猜测结果显示,当猜中后使用break结束循环即可
if (条件:比要猜的数字大) {
} else if (条件:比要猜的数字小) {
} else { break; }
package test;
import java.util.Random;
import java.util.Scanner;
/*
1.准备Random和Scanner对象,分别用于产生随机数和键盘录入
2.使用Random产生一个1-100之间的数,作为要猜测的数
3.键盘录入用户的数据
4.使用录入的数据(用户猜的数据)和随机数字(要猜的数据)进行比较,并给出提示
5.以上内容需要多次进行。但无法预估用户输入几次可以猜测正确,使用while(true)死循环包裹
6.猜对之后,break结束。
*/
public class code20 {
public static void main(String[] args) {
//1.准备Random和Scanner对象,分别用于产生随机数和键盘录入
Random r = new Random();
Scanner sc = new Scanner(System.in);
//2.使用Random产生一个1-100之间的数,作为要猜的数
int randomNum = r.nextInt(100) + 1;
System.out.println(randomNum);
//5.以上内容需要多次进行,但无法预估用户输入几次可以猜测正确,使用while死循环包裹
while (true){
//3.键盘录入用户猜的数据
System.out.println("请输入您猜的数据:");
int num = sc.nextInt();
//4.使用录入的数据(用户猜的数据)和随机的(要猜测的数据)进行比较,并给出提示
if (num > randomNum) {
System.out.println("猜大了");
}else if (num < randomNum){
System.out.println("猜小了");
}else {
//6.猜对之后,break结束
System.out.println("恭喜,猜中了");
break;
}
}
}
}