激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java獲得指定區間數的方法

Java獲得指定區間數的方法

2019-12-19 13:36hitxueliang JAVA教程

這篇文章主要介紹了Java獲得指定區間數的方法,涉及java數值運算的相關技巧,需要的朋友可以參考下

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

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

Java中有兩個類可以產生隨機數:

java.util.Random和java.Math.Random

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

構造方法:

(1)public Random()

(2)public Random(long seed)

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

Java產生隨機數需要有一個基值seed,在第一種方法中基值缺省,則將系統時間作為seed。

普通方法:

(1)public synonronized void setSeed(long seed)

該方法是設定基值seed。

(2)public int nextInt()

該方法是產生一個整型隨機數。

(3)public long nextLong()

該方法是產生一個long型隨機數。

(4)public float nextFloat()

該方法是產生一個Float型隨機數。

(5)public double nextDouble()

該方法是產生一個Double型隨機數。

(6)public synchronized double nextGoussian()

該方法是產生一個double型的Goussian隨機數。

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

指定范圍內的隨機數

隨機數控制在某個范圍內,使用模數運算符%

?
1
2
3
4
5
6
7
8
9
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);
   }
  }
}

獲得的隨機數有正有負的,用Math.abs使獲取數據范圍為非負數
獲取指定范圍內的不重復隨機數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.*;
class TestRandom {
  public static void main(String[] args) {
    int[] intRet = new int[6];
    int intRd = 0; //存放隨機數
    int count = 0; //記錄生成的隨機數個數
    int flag = 0; //是否已經生成過標志
    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之間的隨機數
你可以這樣寫:

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

 

JAVA產生指定范圍的隨機數

產生Min-Max之間的數字

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

另一種實現原理:

?
1
2
3
4
Math.round(Math.random()*(Max-Min)+Min)
long Temp; //不能設定為int,必須設定為long
//產生1000到9999的隨機數
Temp=Math.round(Math.random()*8999+1000);

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级免费在线观看 | 高清国产福利 | 国产91极品| 欧美a视频 | 极品xxxx欧美一区二区 | 羞羞网站在线看 | 欧美日韩夜夜 | 天天夜天天操 | 一级黄色免费观看 | 成人爽a毛片免费啪啪红桃视频 | 成人影片在线免费观看 | 欧美a在线观看 | 看片一区二区三区 | 91看片淫黄大片欧美看国产片 | 成人免费福利视频 | 国产乱淫a∨片免费视频 | 黄色片免费看看 | 国产深夜福利视频在线播放 | 久久网综合 | 国产一级αv片免费观看 | 国产一区日韩一区 | 亚洲人成中文字幕在线观看 | 色妹子久久 | 又黄又爽又色无遮挡免费 | 黄色av网站免费看 | 九九热精品免费 | 亚洲天堂ww| 精品一区二区三区在线观看视频 | 夜夜看 | 国产一区二区在线免费播放 | 中国产一级毛片 | 亚洲国产成人一区 | 中文字幕亚洲情99在线 | 久久久日韩av免费观看下载 | 欧美xxxx精品另类 | 182tv成人福利视频免费看 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 国产精品视频2021 | 污黄视频在线观看 | 渔夫荒淫艳史 | 国产日韩在线观看视频 |