Java 产生随机数:Java 中产生随机数的方法及应用汇总
文章目錄
- 前言
- 一、System.currentTimeMillis() 方法
- 1.1、System.currentTimeMillis() 方法原理剖析
- 1.2、實(shí)現(xiàn)隨機(jī)數(shù)加法程序
- 二、Math.random() 方法
- 2.1、Math.random() 方法原理剖析
- 2.2、實(shí)現(xiàn)隨機(jī)數(shù)減法程序
- 總結(jié)
前言
在 Java 中提供了很多的方法能夠產(chǎn)生隨機(jī)數(shù),在本文中將持續(xù)進(jìn)行總結(jié)相應(yīng)的方法和應(yīng)用,對于初學(xué)者來說較為友好,同時附了簡單的案例供大家參考。一、System.currentTimeMillis() 方法
1.1、System.currentTimeMillis() 方法原理剖析
根據(jù) API 的介紹,調(diào)用 System.currentTimeMillis() 方法我們可以獲取 1970 年 1 月 1 日午夜到現(xiàn)在的毫秒數(shù)(例如:1203183086328 毫秒)。
我們可以通過取余的方式得到其最后一位的整數(shù),代碼如下:
int number1 = (int)(System.currentTimeMillis() % 10);1.2、實(shí)現(xiàn)隨機(jī)數(shù)加法程序
利用 System.currentTimeMillis() 方法實(shí)現(xiàn)通過程序產(chǎn)生隨機(jī)數(shù)讓一年級學(xué)生練習(xí)加法,例題如下。
程序隨機(jī)產(chǎn)生兩個一位整數(shù),number1 和 number2,然后顯示“What is 1 + 7?”
實(shí)現(xiàn)代碼如下:
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));} }實(shí)現(xiàn)具體如下圖所示:
二、Math.random() 方法
2.1、Math.random() 方法原理剖析
使用 Math.random() 來獲得一個 0.0 到 1.0 之間的隨機(jī) double 值,不包括 1.0。
通過 (int)(Math.random() * 10) 會返回一個隨機(jī)的一位整數(shù)(即 0 到 9 之間的數(shù)),代碼如下:
int number1 = (int)(Math.random() * 10);2.2、實(shí)現(xiàn)隨機(jī)數(shù)減法程序
利用 Math.random() 方法實(shí)現(xiàn)一個讓一年級學(xué)生練習(xí)減法的程序,例題如下。
程序隨機(jī)產(chǎn)生兩個一位整數(shù) number1 和 number2,且滿足 number >= number2。顯示問題:“What is 9 - 2 ?”學(xué)生輸入答案后,顯示消息判斷是否正確。
實(shí)現(xiàn)代碼如下:
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));}} }實(shí)現(xiàn)具體如下圖所示:
總結(jié)
本文給大家介紹了兩種產(chǎn)生隨機(jī)數(shù)的方法,這是最簡單的兩種。日后有機(jī)會我還會繼續(xù)補(bǔ)充更多的方法,另外大家還有什么方法呢?補(bǔ)充到下面吧!我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補(bǔ)充可以留言在文章下方,感謝大家的支持!
總結(jié)
以上是生活随笔為你收集整理的Java 产生随机数:Java 中产生随机数的方法及应用汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tomcat 应用服务器如何设置 Web
- 下一篇: 豆腐丝猜三数字?