文章目錄
- 前言
- 一、System.currentTimeMillis() 方法
- 1.1、System.currentTimeMillis() 方法原理剖析
- 1.2、實現隨機數加法程序
- 二、Math.random() 方法
- 2.1、Math.random() 方法原理剖析
- 2.2、實現隨機數減法程序
- 總結
前言
在 Java 中提供了很多的方法能夠產生隨機數,在本文中將持續進行總結相應的方法和應用,對于初學者來說較為友好,同時附了簡單的案例供大家參考。一、System.currentTimeMillis() 方法
1.1、System.currentTimeMillis() 方法原理剖析
根據 API 的介紹,調用 System.currentTimeMillis() 方法我們可以獲取 1970 年 1 月 1 日午夜到現在的毫秒數(例如:1203183086328 毫秒)。
我們可以通過取余的方式得到其最后一位的整數,代碼如下:
int number1 = (int)(System.currentTimeMillis() % 10);
1.2、實現隨機數加法程序
利用 System.currentTimeMillis() 方法實現通過程序產生隨機數讓一年級學生練習加法,例題如下。
程序隨機產生兩個一位整數,number1 和 number2,然后顯示“What is 1 + 7?”
實現代碼如下:
package program3_1;import java.util.Scanner;public class AdditionQuiz {public static void main(String[] args) {int number1 = (int)(System.currentTimeMillis() % 10);int number2 = (int)(System.currentTimeMillis() / 7 % 10);Scanner input = new Scanner(System.in);System.out.print("What is " + number1 + " + " + number2 + " ?");int answer = input.nextInt();System.out.println(number1 + " + " + number2 + " = " + answer + " is " + (number1 + number2 == answer));}
}
實現具體如下圖所示:
二、Math.random() 方法
2.1、Math.random() 方法原理剖析
使用 Math.random() 來獲得一個 0.0 到 1.0 之間的隨機 double 值,不包括 1.0。
通過 (int)(Math.random() * 10)
會返回一個隨機的一位整數(即 0 到 9 之間的數),代碼如下:
int number1 = (int)(Math.random() * 10);
2.2、實現隨機數減法程序
利用 Math.random() 方法實現一個讓一年級學生練習減法的程序,例題如下。
程序隨機產生兩個一位整數 number1 和 number2,且滿足 number >= number2。顯示問題:“What is 9 - 2 ?”學生輸入答案后,顯示消息判斷是否正確。
實現代碼如下:
package com.bailu.test;import java.util.Scanner;public class AdditionQuiz {public static void main(String[] args) {int number1 = (int) (Math.random() * 10);int number2 = (int) (Math.random() * 10);if (number2 > number1) {int temp = number1;number1 = number2;number2 = temp;}System.out.print("What is " + number1 + " - " + number2 + " ? ");Scanner input = new Scanner(System.in);int answer = input.nextInt();input.close();if (number1 - number2 == answer) {System.out.println("You are right!");} else {System.out.println("You are wrong!");System.out.println(number1 + " - " + number2 + " = " + (number1 - number2));}}
}
實現具體如下圖所示:
總結
本文給大家介紹了兩種產生隨機數的方法,這是最簡單的兩種。日后有機會我還會繼續補充更多的方法,另外大家還有什么方法呢?補充到下面吧!我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!