Random類可以用來生成隨機數字的。
1、使用步驟
(1)導包
import java.util.Random;
(2)創建
Random r = new Random();
(3)使用
1.獲取一個隨機的int數字(範圍是int所有範圍,由正負兩種):
int num = r.nextInt();
2.獲取一個隨機的int數字(參數代表了範圍,左閉右開):
int num = r.nextInt(3);
實際上代表的含義是:[0,3),即1~2;
2、練習
(1)題目
用代碼模擬猜數字小遊戲,範圍爲:[1,100]
(2)思路
1、需要產生一個隨機數字,並且不再變化,用到Random的nextInt()方法;
2、需要鍵盤輸入,用到Scanner類的nextInt()方法;
3、需要判斷以及提示,用到if語句;
4、循環次數不確定,用到while(true)。
(3)實現代碼
import java.util.Random;
import java.util.Scanner;
public class demo01 {
public static void main(String[] args) {
//1.創建Random類的對象,並在[1,100]一個隨機數
Random r = new Random();
int randomNum = r.nextInt(100) + 1;//[1,100]
//2.創建一個Scanner類的對象
Scanner sc = new Scanner(System.in);
//3.判斷
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("遊戲結束啦!");
}
}
4.結果
PS:
- 生成負數的隨機數,只需在前面加個負號。
int num = - r.nextInt(6);
// [0 , 6)
- 生成包含正負數的隨機數,可在後面減去一個絕對值。
int num = r.nextInt(6)-3;
// [-3 , 3)