Random 随机数
1 产生随机数
1.1 Random的使用步骤
我们想产生1-100(包含1和100)的随机数该怎么办?我们不需要自己写算法,因为额Java已经为我们提供好了产生随机数的类---Random
作用:用于产生一个随机数
使用步骤(和Scanner类似):
1>导包:import java.util.Random;
2>创建对象:Random r = new Random();
3>获取随机数:int number = r.nextInt(10);
产生的数据在0-10之间,包括0不包括10。
括号里面的10是可以变化的,如果是100,就是0-100之间的数据
不多说了,上代码!
package com.lyc; import java.util.Random; public class RandomDemo { public static void main(String[] args){ /** * Random:用于产生随机数 * 使用步骤: * A.导包:import java.util.Random; * B.创建对象:Random r = new Random(); * C.获取随机数:int number = r.nextInt(10); * * 需求: 如何获取一个1-100之间的随机数昵? */ //创建对象 Random r = new Random(); for (int i = 0; i < 10 ; i++){ //获取随机数 int number = r.nextInt(10); //输出随机数 System.out.println(number); } System.out.println("-----------------------"); //如何获取一个1-100之间的随机数昵? int i = r.nextInt(100)+1; System.out.println("i="+i); } }
猜数字小游戏案例:
系统产生一个1-100之间的随机数,请猜出这个数据是多少。
package com.lyc.test; import java.util.Random; import java.util.Scanner; public class RandomNum { public static void main(String[] args) { /** * 系统产生一个1-100之间的随机数明,请猜出这个数据的多少 * * A.系统产生一个1-100之间的数据 * B.键盘录入我们要猜的数据 * C.比较这两个数据的大小(用if语句实现) * 大了:给出提示 * 小了:给出提示 * 猜中了,给出提示 * * D. 多次猜数据,而我们不知道要猜多少次,怎么办? * while(true) {循环内容} * */ Random r = new Random(); Scanner sc = new Scanner(System.in); int num = r.nextInt(100)+1; while (true) { System.out.println("请输入你要猜的数字(1-100):"); int guessNumber = sc.nextInt(); //比较这两个数据 if (guessNumber > num) { System.out.println("你猜的数据"+guessNumber+"大了"); } else if (guessNumber < num) { System.out.println("你猜的数据"+guessNumber+"小了"); } else { System.out.println("恭喜你,猜中了!!!"); break; } } } }