概述和基本使用
import java.util.Random;
/*Random类用来生成随机数字。使用起来也是三个步骤;
1.导包
import java.util.Random;
2.创建
Random r = new Rondom();
3.使用
获取一个随机的int数字(范围是int所有范围,有正负两种):int num=r.nextInt();*/
public class Demo01Random {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt();
System.out.println("产生一个随机数:" + num);
}
}
Random生成指定范围的随机数
随机数Ran’do’m类的另外一种使用方法
获取一个随机的int数字,(参数代表了范围,左闭右开区间)
:int num = r.nextInt(10)
则实际上代表的范围是[0,10) 也就是0~9
假如现在有个数字n 我想要生成1~n之间的数字,该怎么办?
只需要在r.nextInt(n) + 1即可
代码附上:
package 类和对象;
import java.util.Random;
public class Demo05 {
public static void main(String[] args) {
Random r = new Random();
for (int i = 0; i < 10; i++) {
int num = r.nextInt(10) + 1; // .nextInt的时候选择代参数的
System.out.println(num); //打印10个范围为1-10的数
}
}
}
练习一
题目:根据int变量 n的值,来获取随机数字,范围是[1,n]
思路:
1.定义一个int 变量n,随意赋值
2.要使用Random三个步骤:导包、 创建、使用
3.如果写10,那么就是0-9,然而想要的是1-10可以发现整体+1即可。
4.打印随机数字
package com.Test;
import java.util.Random;
public class Random1 {
public static void main(String[] args) {
int n = 5;
Random r = new Random();
for (int i = 0; i < 100; i++) {
//本来范围是[0,n),整体+1之后变成了[1,n+1),有人就是[1,n)
int result = r.nextInt(n) + 1;
System.out.println(result);
}
}
}
练习二
题目:
用代码模拟猜数字的小游戏 生成个随机数猜数字
思路:
1.首先需要产生一个随机数字,并且一旦产生不再变化。用Random的nextInt方法
2.需要键盘输入,所以用到Scanner
3.获取键盘输入的数字,用Scanner当中的nextInt方法
4.已经得到了两个数字,判断(if)一下:
如果太大了,提示太大,并且重试
如果猜中了,游戏结束
如果太小了,提示太小,并且重试
5.重试就是再来一次,循环次数不确定,用while(true)。
public class Demo08Random {
public static void main(String[] args) {
Random r = new Random();
int randomNum = r.nextInt(100)+1;//1-100
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("请输入你猜测的数字:");
int guessNum = sc.nextInt();//键盘输入猜测的数字
if(guessNum>randomNum){
System.out.println("太大了请重试");
}
else if(guessNum<randomNum){
System.out.println("太小了请重试");
}
else{
System.out.println("恭喜你猜中了");
break;//如果猜中不再重试
}
}
System.out.println("游戏结束。");
}
}
评论 (0)