Random类用来生成随机数字
习题一:根据int变量n的值来获取随机数字,范围是[1,n],可以取一也可以取n。
package demo02;
import java.util.Random;
import java.util.Scanner;
public class demo02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //键盘输入就是n
Random r = new Random(n); //此时的范围是[0,n)
for(int i =0;i<100;i++){
int num = r.nextInt(n) + 1; //整体加1变成[1,n+1)
System.out.println(num); //因为Random的nextInt(n)是左闭右开区间,所以要在n+1,才可实现题目的要求
}
}
}
运行结果的片段:
习题二:猜数字游戏:生产一个随机数字,用键盘输入猜测数字,如果大于产生的随机数字,则提示大了;如果小于产生的随机数字,则提示消了;直到最后猜出数字;随机数字在0到100之间,包含0和100.(当然你也可以对猜测的次数做出限制)
package demo02;
import java.util.Random;
import java.util.Scanner;
public class demo02 {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(100) + 1; //设置生产数范围为[1,100]
System.out.println("请开始猜测:");
for(int i=0;i<6;i++) { //设置可猜测次数
Scanner in = new Scanner(System.in);
int input = in.nextInt();
if (input > num) {
System.out.println("猜测数字大了,请重新输入:");
continue;
}
if( input <num ) {
System.out.println("猜测数字小了,请重新输入:");
continue;
}
if(input == num){ break; }
}
System.out.println("正确的数字是:" + num); //最后显示生产数字
}
}
运行结果为: