大家好,又见面了,我是你们的朋友全栈君。
lic int nextInt(int n)
该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机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)区间的小数
*
*/
@Test
public void Demo2(){
Random r = new Random();
double d1 = r.nextDouble();
System.out.println(“d1:”+d1);
}
/**
* 生成[0,5.0)区间的小数
*
*/
@Test
public void Demo3(){
Random r = new Random();
double d2 = r.nextDouble()* 5;
System.out.println(“d1:”+d2);
}
/**
* 生成[1,2.5)区间的小数
*
*/
@Test
public void Demo4(){
Random r = new Random();
double d3 = r.nextDouble() * 1.5 + 1;
System.out.println(“d1:”+d3);
}
/**
* 生成任意整数
*
*/
@Test
public void Demo5(){
Random r = new Random();
int n1 = r.nextInt();
System.out.println(“d1:”+n1);
}
/**
* 生成[0,10)区间的整数
*
*/
@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]区间的整数
*
*/
@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)区间的整数
*
*/
@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()方法返回一个伪随机数
问题
今天想让程序返回一个区间内的随机数。忘记怎么写了,就去百度搜给出的结果并不对。
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内的随机数
int i = random.nextInt() * (128 – 64 + 1) + 64;
/**
* 生成 [m,n] 的数字
* int i1 = random.nextInt() * (n-m+1)+m;
* */
//生成0-64内的数字
int i1 = random.nextInt() * (64-0+1);
/**
* 生成0-n之内的数字
* int i1 = random.nextInt() * (n-0+1);
*
*
* */
}
}
这样是不对的,我就去查看API文档,发现nextInt()可以有参数也可以无参数。
无参数的方法直接调用返回的是一个很大的正负区间上的数。
如果想返回想要的范围内的数,应该:
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之间的整数
System.out.println(random.nextInt(14));
}
System.out.println(“—————————-“);
for(int j=0;j<100;j++){
// 输出为-9~0之间的整数
System.out.println(random.nextInt(10)-9);
}
}
}
到此这篇关于java Random.nextInt()方法的具体使用的文章就介绍到这了,更多相关java Random.nextInt使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162894.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...