在之前给大家分享过在Java中使用math.random()产生随机数的方法,今天给大家分享一下使用Random随机数类来产生随机数。使用这个方法之前需要先导入Random所在的包,然后创建一个对象,调用Random类中的功能产生随机数。
代码:
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random ran = new Random();
int num = ran.nextInt(50);
double num1 = ran.nextDouble();
System.out.println(num + " " + num1);
}
}
运行上面的代码,我们发现,程序产生了一个随机整数和一个浮点型的随机数,而这个随机整数的范围是被限定在【0,50)的,也就是int num = ran.nextInt(50)这条语句限定了我们随机数的取值范围,加入我们想产生一个【0,100)的随机数,只要把对应的数字换成100即可。需要注意的是,这里产生的浮点型的随机数的范围是不可以被指定的,如果我们在double num1 = ran.nextDouble()中加上一个数字,那么程序编译将会不通过。
介绍完两种产生随机数的方法,这次我们就用这两种方法写一个猜数字的小游戏来结尾吧:
代码一:
package demo1;
import java.util.Random;
import java.util.Scanner;
public class gussNum {
public static void main(String[] args) {
System.out.println("游戏开始!");
System.out.println("请输入一个1-100之间的数字!");
Random ran = new Random();
int num = ran.nextInt(100) + 1;
Scanner input = new Scanner(System.in);
while(true) {
int GussNum = input.nextInt();
if(GussNum > num) {
System.out.println("猜大了!");
}else if(GussNum < num) {
System.out.println("猜小了!");
}else {
System.out.println("恭喜你,猜对了!");
break;
}
}
}
}
代码2:
import java.util.Scanner;
//猜数游戏,生成一个【0,100)之间的随机数,提示用户输入猜测的数字;
public class Guessnum{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int count = 0;
int random = (int)(Math.random()*100);//生成一个【0,100)的随机数
while(true){
System.out.print("请输入你猜测的数字:");
int guess = input.nextInt();
count++;
if(guess == random){
System.out.println("恭喜你!猜对了,你可真是个小天才呢!");
System.out.print("游戏结束");
break;
}else if(guess > random){
System.out.print("呀,你猜的数字有点大了!\n");
}else{
System.out.print("你猜小了!\n");
}
}
System.out.print("你一共猜了" + count +"次");
}
}