溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用java Random.nextInt()方法

發(fā)布時間:2020-07-23 11:58:06 來源:億速云 閱讀:349 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了如何使用java Random.nextInt()方法,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

lic int nextInt(int n)

該方法的作用是生成一個隨機(jī)的int值,該值介于[0,n)的區(qū)間,也就是0到n之間的隨機(jī)int值,包含0而不包含n。

直接上代碼:

package org.xiaowu.random.demo;

import java.util.Random;

import org.junit.Test;

public class RandomDemo {
 
 @Test
 public void Demo(){
  Random rnd = new Random();
  int code = rnd.nextInt(8999) + 1000;
  System.out.println("code:"+code);
 }

 
 @Test
 public void Demo1(){
  Random r = new Random();
  int nextInt = r.nextInt();
  Random r1 = new Random(10);
  int nextInt2 = r1.nextInt();
  System.out.println("nextInt:"+nextInt);
  System.out.println("nextInt2:"+nextInt2);
 }

 
 /**
  * 生成[0,1.0)區(qū)間的小數(shù)
  * 
  */
 @Test
 public void Demo2(){
  Random r = new Random();
  double d1 = r.nextDouble();
  System.out.println("d1:"+d1);
 }

 
 /**
  * 生成[0,5.0)區(qū)間的小數(shù)
  * 
  */
 @Test
 public void Demo3(){
  Random r = new Random();
  double d2 = r.nextDouble()* 5;
  System.out.println("d1:"+d2);
 }

 
 /**
  * 生成[1,2.5)區(qū)間的小數(shù)
  * 
  */
 @Test
 public void Demo4(){
  Random r = new Random();
  double d3 = r.nextDouble() * 1.5 + 1;
  System.out.println("d1:"+d3);
 }

 
 /**
  * 生成任意整數(shù)
  * 
  */
 @Test
 public void Demo5(){
  Random r = new Random();
  int n1 = r.nextInt();
  System.out.println("d1:"+n1);
 }

 
 
 /**
  * 生成[0,10)區(qū)間的整數(shù)
  * 
  */
 @Test
 public void Demo6(){
  Random r = new Random();
  int n2 = r.nextInt(10);
  int n3 = Math.abs(r.nextInt() % 10);
  System.out.println("n2:"+n2);
  System.out.println("n3:"+n3);
 }

 
 
 /**
  * 生成[0,10]區(qū)間的整數(shù)
  * 
  */
 @Test
 public void Demo7(){
  Random r = new Random();
  int n3 = r.nextInt(11);
  int n4 = Math.abs(r.nextInt() % 11);
  System.out.println("n3:"+n3);
  System.out.println("n4:"+n4);
 }

 
 /**
  * 生成[-3,15)區(qū)間的整數(shù)
  * 
  */
 @Test
 public void Demo8(){
  Random r = new Random();
  int n4 = r.nextInt(18) - 3;
  int n5 = Math.abs(r.nextInt() % 18) - 3;
  System.out.println("n4:"+n4);
  System.out.println("n5:"+n5);
 }
 
}

Java中使用Random類中的nextInt()方法返回一個偽隨機(jī)數(shù)

問題

今天想讓程序返回一個區(qū)間內(nèi)的隨機(jī)數(shù)。忘記怎么寫了,就去百度搜給出的結(jié)果并不對。

import java.util.Random;
 
/**
 * @author HP
 * @date 2019/4/16
 */
public class randomTest {
 public static void main(String[] args) {
 
  Random random = new Random();
  //生成64-128內(nèi)的隨機(jī)數(shù)
  int i = random.nextInt() * (128 - 64 + 1) + 64;
  /**
   * 生成 [m,n] 的數(shù)字
   * int i1 = random.nextInt() * (n-m+1)+m;
   * */
  //生成0-64內(nèi)的數(shù)字
  int i1 = random.nextInt() * (64-0+1);
  /**
   * 生成0-n之內(nèi)的數(shù)字
   * int i1 = random.nextInt() * (n-0+1);
   *
   *
   * */

 }
}

這樣是不對的,我就去查看API文檔,發(fā)現(xiàn)nextInt()可以有參數(shù)也可以無參數(shù)。

無參數(shù)的方法直接調(diào)用返回的是一個很大的正負(fù)區(qū)間上的數(shù)。

如果想返回想要的范圍內(nèi)的數(shù),應(yīng)該:

package chapter6;

import java.util.Random;

import org.omg.Messaging.SyncScopeHelper;

public class RandomTest {
  public static void main(String[] args) {
  Random random = new Random();
  for(int i=0;i<200;i++)
  {
//  輸出為0~13之間的整數(shù)
  System.out.println(random.nextInt(14));
  }
  System.out.println("----------------------------");
  for(int j=0;j<100;j++){
//  輸出為-9~0之間的整數(shù)
  System.out.println(random.nextInt(10)-9);
  }
  }  
}

以上就是關(guān)于如何使用java Random.nextInt()方法的內(nèi)容,如果你們有學(xué)習(xí)到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI