日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java随机数

發(fā)布時(shí)間:2024/8/1 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java随机数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在實(shí)際開(kāi)發(fā)中產(chǎn)生隨機(jī)數(shù)的使用是很普遍的,所以在程序中進(jìn)行產(chǎn)生隨機(jī)數(shù)操作很重要。在Java中主要提供兩種方式產(chǎn)生隨機(jī)數(shù),分別為調(diào)用Math類(lèi)的random()方法和Random類(lèi)提供的產(chǎn)生各種數(shù)據(jù)類(lèi)型隨機(jī)數(shù)的方法。

1、Math.random()方法

在Math類(lèi)中存在一個(gè)random()方法,用于產(chǎn)生隨機(jī)數(shù)字,這個(gè)方法默認(rèn)生成大于等于0.0小于1.0的double型隨機(jī)數(shù),即0<=Math.random()<1.0,雖然Math.random()方法只可以產(chǎn)生0~1之間的double型數(shù)字,其實(shí)只要在Math.random()語(yǔ)句上稍加處理,就可以使用這個(gè)方法產(chǎn)生任意范圍的隨機(jī)數(shù)。

公式:(數(shù)據(jù)類(lèi)型)(最小值+Math.random()*(最大值-最小值+1))

上述公式為產(chǎn)生的隨機(jī)數(shù),范圍包含最小值與最大值。

1.1 生成隨機(jī)整數(shù)

/*** 生成隨機(jī)整數(shù)(包含起始與終止范圍)* * @author pan_junbiao* @param num1 起始范圍參數(shù)* @param num2 終止范圍參數(shù)* @return 隨機(jī)整數(shù)*/ public static int GetRandomNum(int num1, int num2) {int result = (int) (num1 + Math.random() * (num2 - num1 + 1));return result; }public static void main(String args[]) {// 生成100至999的隨機(jī)整數(shù)System.out.println("任意一個(gè)100值999的整數(shù):" + GetRandomNum(100, 999)); }

1.2 生成隨機(jī)字符

/*** 生成隨機(jī)字符(包含起始與終止范圍)* * @author pan_junbiao* @param char1 起始范圍參數(shù)* @param char2 終止范圍參數(shù)* @return 隨機(jī)字符*/ public static char GetRandomChar(char char1, char char2) {char result = (char) (char1 + Math.random() * (char2 - char1 + 1));return result; }public static void main(String args[]) {// 獲取a~z之間的隨機(jī)字符System.out.println("任意小寫(xiě)字符:" + GetRandomChar('a', 'z'));// 獲取A~Z之間的隨機(jī)字符System.out.println("任意大寫(xiě)字符:" + GetRandomChar('A', 'Z'));// 獲取0~9之間的隨機(jī)字符System.out.println("0到9任意數(shù)字字符:" + GetRandomChar('0', '9')); }

執(zhí)行結(jié)果:

?

2、Random類(lèi)

除了Math類(lèi)中的random()方法可以獲取隨機(jī)數(shù)之外,在Java中還提供了一種可以獲取隨機(jī)數(shù)的方式,那就是java.util.Random類(lèi)。可以通過(guò)實(shí)例化一個(gè)Random對(duì)象創(chuàng)建一個(gè)隨機(jī)數(shù)生成器。

語(yǔ)法如下:

Random r=new Random();

其中,r是指Random對(duì)象。

在Random類(lèi)中提供了獲取各種數(shù)據(jù)類(lèi)型隨機(jī)數(shù)的方法,下面舉例幾個(gè)常用的方法。

方法說(shuō)明
public int nextInt()返回一個(gè)隨機(jī)整數(shù)。
public int nextInt(itn)返回大于等于0且小于n的隨機(jī)整數(shù)。
public long nextLong()返回一個(gè)隨機(jī)長(zhǎng)整型值。
public boolean nextBoolean()返回一個(gè)隨機(jī)布爾型值。
public float nextFloat()返回一個(gè)隨機(jī)浮點(diǎn)型值。
public double nextDouble()返回一個(gè)隨機(jī)雙精度型值。
public double nextGaussian()返回一個(gè)概率密度為高斯分布的雙精度值。

2.1 生成各種類(lèi)型的隨機(jī)數(shù)

【示例】使用Random對(duì)象生成各種類(lèi)型的隨機(jī)數(shù),并輸出結(jié)果。

import java.util.Random;/*** 使用Random對(duì)象生成各種類(lèi)型的隨機(jī)數(shù)* @author pan_junbiao*/ public class RandomTest {public static void main(String args[]){// 實(shí)例化一個(gè)Random類(lèi)Random r = new Random();// 隨機(jī)產(chǎn)生一個(gè)整數(shù)System.out.println("隨機(jī)產(chǎn)生一個(gè)整數(shù):" + r.nextInt());// 隨機(jī)產(chǎn)生一個(gè)大于等于0且小于10的整數(shù)System.out.println("隨機(jī)產(chǎn)生一個(gè)大于等于0且小于10的整數(shù):" + r.nextInt(10));// 隨機(jī)產(chǎn)生一個(gè)布爾類(lèi)型的值System.out.println("隨機(jī)產(chǎn)生一個(gè)布爾類(lèi)型的值:" + r.nextBoolean());// 隨機(jī)產(chǎn)生一個(gè)雙精度型的值System.out.println("隨機(jī)產(chǎn)生一個(gè)雙精度型的值:" + r.nextDouble());// 隨機(jī)產(chǎn)生一個(gè)浮點(diǎn)型的值System.out.println("隨機(jī)產(chǎn)生一個(gè)浮點(diǎn)型的值:" + r.nextFloat());// 隨機(jī)產(chǎn)生一個(gè)概率密度為高斯分布的雙精度值System.out.println("隨機(jī)產(chǎn)生一個(gè)概率密度為高斯分布的雙精度值:" + r.nextGaussian());} }

運(yùn)行結(jié)果:

2.2?生成隨機(jī)字符串

【示例】使用Random對(duì)象隨機(jī)生成字符串。

import java.util.Random;/*** 使用Random對(duì)象隨機(jī)生成字符串* @author pan_junbiao**/ public class RandomString {public static void main(String[] args){System.out.println("隨機(jī)生成6位數(shù)的字符串:" + getRandomString(6));System.out.println("隨機(jī)生成8位數(shù)的字符串:" + getRandomString(8));System.out.println("隨機(jī)生成10位數(shù)的字符串:" + getRandomString(10));}/*** 隨機(jī)生成字符串* @param length 隨機(jī)字符串長(zhǎng)度*/public static String getRandomString(int length){String base = "abcdefghijklmnopqrstuvwxyz0123456789";Random random = new Random();StringBuffer sb = new StringBuffer();for(int i=0; i< length; i++){int number = random.nextInt(base.length());sb.append(base.charAt(number));}return sb.toString();} }

執(zhí)行結(jié)果:

總結(jié)

以上是生活随笔為你收集整理的Java随机数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。