最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java獲得指定區(qū)間數(shù)的方法

 更新時(shí)間:2015年05月30日 15:50:28   作者:hitxueliang  
這篇文章主要介紹了Java獲得指定區(qū)間數(shù)的方法,涉及java數(shù)值運(yùn)算的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Java獲得指定區(qū)間數(shù)的方法。分享給大家供大家參考。具體如下:

在編寫(xiě)Java程序的時(shí)候很多時(shí)候都用到了隨機(jī)數(shù),但是一直都是用一次查一次,這次來(lái)一個(gè)總結(jié)吧,把Java中得隨機(jī)數(shù)的產(chǎn)生弄的清晰一些,以后就直接自己參考自己的這篇文章就好了。

Java中有兩個(gè)類(lèi)可以產(chǎn)生隨機(jī)數(shù):

java.util.Random和java.Math.Random

Java實(shí)用工具類(lèi)庫(kù)中的類(lèi)java.util.Random提供了產(chǎn)生各種類(lèi)型隨機(jī)數(shù)的方法。它可以產(chǎn)生int、long、float、double以 及Goussian等類(lèi)型的隨機(jī)數(shù)。這也是它與java.lang.Math中的方法Random()最大的不同之處,后者只產(chǎn)生double型的隨機(jī) 數(shù)。
類(lèi)Random中的方法十分簡(jiǎn)單,它只有兩個(gè)構(gòu)造方法和六個(gè)普通方法。

構(gòu)造方法:

(1)public Random()

(2)public Random(long seed)

Random()使用當(dāng)前時(shí)間即System.currentTimeMillis()作為發(fā)生器的種子,Random(long seed)使用指定的seed作為發(fā)生器的種子。

Java產(chǎn)生隨機(jī)數(shù)需要有一個(gè)基值seed,在第一種方法中基值缺省,則將系統(tǒng)時(shí)間作為seed。

普通方法:

(1)public synonronized void setSeed(long seed)

該方法是設(shè)定基值seed。

(2)public int nextInt()

該方法是產(chǎn)生一個(gè)整型隨機(jī)數(shù)。

(3)public long nextLong()

該方法是產(chǎn)生一個(gè)long型隨機(jī)數(shù)。

(4)public float nextFloat()

該方法是產(chǎn)生一個(gè)Float型隨機(jī)數(shù)。

(5)public double nextDouble()

該方法是產(chǎn)生一個(gè)Double型隨機(jī)數(shù)。

(6)public synchronized double nextGoussian()

該方法是產(chǎn)生一個(gè)double型的Goussian隨機(jī)數(shù)。

如果2個(gè)Random對(duì)象使用相同的種子(比如都是100),并且以相同的順序調(diào)用相同的函數(shù),那它們返回值完全相同。如下面代碼中兩個(gè)Random對(duì)象的輸出完全相同

指定范圍內(nèi)的隨機(jī)數(shù)

隨機(jī)數(shù)控制在某個(gè)范圍內(nèi),使用模數(shù)運(yùn)算符%

import java.util.*;
 class TestRandom {
  public static void main(String[] args) {
   Random random = new Random();
   for(int i = 0; i < 10;i++) {
    System.out.println(Math.abs(random.nextInt())%10);
   }
  }
}

獲得的隨機(jī)數(shù)有正有負(fù)的,用Math.abs使獲取數(shù)據(jù)范圍為非負(fù)數(shù)
獲取指定范圍內(nèi)的不重復(fù)隨機(jī)數(shù)

import java.util.*;
class TestRandom {
  public static void main(String[] args) {
    int[] intRet = new int[6]; 
    int intRd = 0; //存放隨機(jī)數(shù)
    int count = 0; //記錄生成的隨機(jī)數(shù)個(gè)數(shù)
    int flag = 0; //是否已經(jīng)生成過(guò)標(biāo)志
    while(count<6){
      Random rdm = new Random(System.currentTimeMillis());
      intRd = Math.abs(rdm.nextInt())%32+1;
      for(int i=0;i<count;i++){
       if(intRet[i]==intRd){
        flag = 1;
        break;
       }else{
        flag = 0;
       }
      }
      if(flag==0){
       intRet[count] = intRd;
       count++;
      }
   }
   for(int t=0;t<6;t++){
    System.out.println(t+"->"+intRet[t]);
   }
  }
}

也可以有nextFloat等等,各種基本類(lèi)型都有
Math.random也可以
比如說(shuō)你想要0-10之間的隨機(jī)數(shù)
你可以這樣寫(xiě):

復(fù)制代碼 代碼如下:
(int)(Math.random()*10);

JAVA產(chǎn)生指定范圍的隨機(jī)數(shù)

產(chǎn)生Min-Max之間的數(shù)字

Random random=new Random();
int top = random.nextInt(maxtop)%(maxtop-mintop+1) + mintop;

另一種實(shí)現(xiàn)原理:

Math.round(Math.random()*(Max-Min)+Min)
long Temp; //不能設(shè)定為int,必須設(shè)定為long
//產(chǎn)生1000到9999的隨機(jī)數(shù)
Temp=Math.round(Math.random()*8999+1000);

希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 深度解析Java中的ReentrantLock原理

    深度解析Java中的ReentrantLock原理

    這篇文章主要介紹了關(guān)于ReentrantLock的原理解析,文章通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Spring注解驅(qū)動(dòng)之@EventListener注解使用方式

    Spring注解驅(qū)動(dòng)之@EventListener注解使用方式

    這篇文章主要介紹了Spring注解驅(qū)動(dòng)之@EventListener注解使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 使用@CachePut?更新數(shù)據(jù)庫(kù)和更新緩存

    使用@CachePut?更新數(shù)據(jù)庫(kù)和更新緩存

    這篇文章主要介紹了使用@CachePut?更新數(shù)據(jù)庫(kù)和更新緩存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 實(shí)例解析如何正確使用Java數(shù)組

    實(shí)例解析如何正確使用Java數(shù)組

    同一種類(lèi)型數(shù)據(jù)的集合。其實(shí)數(shù)組就是一個(gè)容器。運(yùn)算的時(shí)候有很多數(shù)據(jù)參與運(yùn)算,那么首先需要做的是什么下面我們就一起來(lái)看看。
    2016-07-07
  • 淺談Spring的屬性編輯器的使用

    淺談Spring的屬性編輯器的使用

    這篇文章主要介紹了淺談Spring的屬性編輯器的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • redis 獲取 list 中的所有元素操作

    redis 獲取 list 中的所有元素操作

    這篇文章主要介紹了redis 獲取 list 中的所有元素操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Java利用PDFBox實(shí)現(xiàn)PDF文檔基本操作

    Java利用PDFBox實(shí)現(xiàn)PDF文檔基本操作

    這篇文章主要為大家詳細(xì)介紹了java如何利用PDFBox實(shí)現(xiàn)PDF文檔基本操作,例如創(chuàng)建PDF文檔、加載PDF文檔、獲取總頁(yè)數(shù)等,需要的小伙伴可以參考下
    2023-11-11
  • 創(chuàng)建Jersey REST 服務(wù),基于Maven的實(shí)現(xiàn)

    創(chuàng)建Jersey REST 服務(wù),基于Maven的實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇?jiǎng)?chuàng)建Jersey REST 服務(wù),基于Maven的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Java實(shí)現(xiàn)冒泡排序與雙向冒泡排序算法的代碼示例

    Java實(shí)現(xiàn)冒泡排序與雙向冒泡排序算法的代碼示例

    這篇文章主要介紹了Java實(shí)現(xiàn)冒泡排序與雙向冒泡排序算法的代碼示例,值得一提的是所謂的雙向冒泡排序并不比普通的冒泡排序效率來(lái)得高,注意相應(yīng)的時(shí)間復(fù)雜度,需要的朋友可以參考下
    2016-04-04
  • 基于controller使用map接收參數(shù)的注意事項(xiàng)

    基于controller使用map接收參數(shù)的注意事項(xiàng)

    這篇文章主要介紹了基于controller使用map接收參數(shù)的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10

最新評(píng)論

四子王旗| 赣榆县| 宿松县| 丹东市| 汾阳市| 麦盖提县| 泊头市| 阿拉善左旗| 德兴市| 三台县| 泸州市| 丹巴县| 芦山县| 砚山县| 图们市| 张家港市| 万年县| 莎车县| 安岳县| 吉首市| 绍兴县| 清河县| 梓潼县| 襄汾县| 堆龙德庆县| 万全县| 吴川市| 安新县| 义马市| 出国| 溆浦县| 格尔木市| 阜康市| 中牟县| 乾安县| 宾阳县| 扎兰屯市| 建瓯市| 仁怀市| 东阳市| 明溪县|