亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

Java中有兩個類可以產(chǎn)生隨機數(shù):

java.util.Random和java.Math.Random

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

構(gòu)造方法:

(1)public Random()

(2)public Random(long seed)

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

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

普通方法:

(1)public synonronized void setSeed(long seed)

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

(2)public int nextInt()

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

(3)public long nextLong()

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

(4)public float nextFloat()

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

(5)public double nextDouble()

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

(6)public synchronized double nextGoussian()

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

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

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

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

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);
   }
  }
}

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

import java.util.*;
class TestRandom {
  public static void main(String[] args) {
    int[] intRet = new int[6]; 
    int intRd = 0; //存放隨機數(shù)
    int count = 0; //記錄生成的隨機數(shù)個數(shù)
    int flag = 0; //是否已經(jīng)生成過標(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等等,各種基本類型都有
Math.random也可以
比如說你想要0-10之間的隨機數(shù)
你可以這樣寫:

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

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

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

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

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

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

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

相關(guān)文章

  • java equals和=,==的區(qū)別詳細介紹

    java equals和=,==的區(qū)別詳細介紹

    這篇文章主要介紹了java equals和=,==的區(qū)別,學(xué)習(xí)Java的朋友對equals 和== 這個概念開始使用的時候會有疑問,很難辨別如何正確使用,這里幫大家詳細講解該知識點,希望大家能掌握,有需要的小伙伴可以參考下
    2016-10-10
  • 詳解Java?二叉樹的實現(xiàn)和遍歷

    詳解Java?二叉樹的實現(xiàn)和遍歷

    二叉樹可以簡單理解為對于一個節(jié)點來說,最多擁有一個上級節(jié)點,同時最多具備左右兩個下級節(jié)點的數(shù)據(jù)結(jié)構(gòu)。本文將詳細介紹一下Java中二叉樹的實現(xiàn)和遍歷,需要的可以參考一下
    2022-01-01
  • Java數(shù)據(jù)類型轉(zhuǎn)換詳解

    Java數(shù)據(jù)類型轉(zhuǎn)換詳解

    這篇文章主要講解Java中基本數(shù)據(jù)類型、字符串與其它數(shù)據(jù)類型以及常見的日期類型的轉(zhuǎn)換,希望能給大家做一個參考。
    2016-06-06
  • Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實例

    Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實例

    下面小編就為大家?guī)硪黄狫ava用POI解析excel并獲取所有單元格數(shù)據(jù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java神操作:圖片快速轉(zhuǎn)換PDF秘籍

    Java神操作:圖片快速轉(zhuǎn)換PDF秘籍

    想掌握J(rèn)ava神操作,將圖片快速轉(zhuǎn)換成PDF嗎?這份秘籍將一步步引導(dǎo)你,輕松實現(xiàn)這一目標(biāo),別等了,跟著我們一起,解鎖這項超實用技能吧!
    2024-02-02
  • JAVA匿名內(nèi)部類語法分析及實例詳解

    JAVA匿名內(nèi)部類語法分析及實例詳解

    這篇文章主要介紹了JAVA匿名內(nèi)部類語法分析及實例詳解,匿名內(nèi)部類可以使你的代碼更加簡潔,它與局部類很相似,不同的是它沒有類名,如果某個局部類你只需要用一次,那么你就可以使用匿名內(nèi)部類。對此感興趣的可以了解一下
    2020-07-07
  • Java ArrayList 數(shù)組之間相互轉(zhuǎn)換

    Java ArrayList 數(shù)組之間相互轉(zhuǎn)換

    本文通過代碼示例給大家講解arraylist轉(zhuǎn)化為數(shù)組,然后數(shù)組轉(zhuǎn)化為arraylist的相關(guān)資料,感興趣的朋友一起看看吧
    2015-11-11
  • java  中ThreadLocal實例分析

    java 中ThreadLocal實例分析

    這篇文章主要介紹了java 中ThreadLocal實例分析的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 解決spring boot環(huán)境切換失效的問題

    解決spring boot環(huán)境切換失效的問題

    這篇文章主要介紹了解決spring boot環(huán)境切換失效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Springboot集成Mybatis-Flex的示例詳解

    Springboot集成Mybatis-Flex的示例詳解

    Mybatis-Flex 是一個優(yōu)雅的?Mybatis 增強框架,它非常輕量、同時擁有極高的性能與靈活性,本文主要介紹了Springboot集成Mybatis-Flex的示例詳解,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論