本文目录一览:
java如何产生1-8的整数随机数?
(int)(Math.random() * 8) + 1
或者
Random r = new Random(100);
System.out.println(r.nextInt(8) + 1);
Java产生随机数的两种方式:
- 通过
Math.random()
方法返回一个0到1之间的double
值。 - 通过
Random
类来产生一个随机数,这个是专业的Random
工具类,功能强大。
Math.random() 方法
Math.random()
方法是 Java 的一个静态方法,返回一个0到1之间,前闭后开区间的 double
值。
(int)(Math.random() * 10)
返回0到9的随机整数。(int)(Math.random() * n)
返回0到n的随机整数。(int)(Math.random() * 100) + 1
返回1到100之间的随机整数。
Random 类
Random
类是 Java 的 util
包中的一个类。
Random 类使用说明
Random
类使用的根本策略是分带种子和不带种子的 Random
的实例。
通俗说,两者的区别是:
- 带种子的,每次运行生成的结果都是一样的。
- 不带种子的,每次运行生成的都是随机的,没有规律可言。
创建不带种子的 Random 对象
Random random = new Random();
使用一个和当前系统时间对应的相对时间有关的数字作为种子数。
创建带种子的 Random 对象有两种方法:
-
Random random = new Random(10);
-
Random random = new Random(); random.setSeed(10);
种子的作用是什么?
种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀地散布在空间中。以后产生的随机数都与前一个随机数有关。 举例:
Random r = new Random(100);
System.out.println(r.nextInt(20));
100是种子,r.nextInt(20)
中的20是随机数的上限,产生的随机数为0-20的整数,不包括20。种子数只是随机算法的起源数字,和生成的随机数字的区间没有任何关系。
初始化时100并没有起直接作用(注意:不是没有起作用)。
java随机数指定的范围怎么做
JAVA随机数指定的范围标准格式:
Random rand = new Random();
int randNum = rand.nextInt(范围);
示例:
- 生成0-2之间的随机数,包括2
Random rand = new Random();
int randNum = rand.nextInt(3);
- 生成5-26之间的随机数,包括26
Random rand = new Random();
int randNum = rand.nextInt(22) + 5;
扩展资料:
random 函数使用格式:
新建 random
类的 rand
对象:
Random rand = new Random();
设定 rand
的类型以及区间范围:
int randNum = rand.nextInt(int x) + y;
如何在java中产生随机数?
在 J2SE 里我们可以使用 Math.random()
方法来产生一个随机数,这个产生的随机数是0-1之间的一个 double
,我们可以把它乘以一定的数,比如说乘以100,它就是个100以内的随机数,这个在 J2ME 中没有。
在 java.util
这个包里面提供了一个 Random
的类,我们可以新建一个 Random
的对象来产生随机数,它可以产生随机整数、随机 float
、随机 double
、随机 long
,这个也是我们在 J2ME 的程序里经常用的一个取随机数的方法。
在我们的 System
类中有一个 currentTimeMillis()
方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是 long
,我们可以拿它作为一个随机数,我们可以拿它对一些数取模,就可以把它限制在一个范围之内。
具体编程方法摘要:
Random()
:创建一个新的随机数生成器。Random(long seed)
:使用单个long
种子创建一个新随机数生成器。protected int next(int bits)
:生成下一个伪随机数。boolean nextBoolean()
:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的boolean
值。void nextBytes(byte[] bytes)
:生成随机字节并将其置于用户提供的字节数组中。double nextDouble()
:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0 之间均匀分布的double
值。float nextFloat()
:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0 之间均匀分布的float
值。double nextGaussian()
:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯("正常地")分布的double
值,其平均值是 0.0,标准偏差是 1.0。int nextInt()
:返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int
值。int nextInt(int n)
:返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的int
值。long nextLong()
:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的long
值。void setSeed(long seed)
:使用单个long
种子设置此随机数生成器的种子。
在java中产生随机数
一、利用 random 方法来生成随机数
在 Java 语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在 Math
类中,Java 语言提供了一个叫做 random
的方法。通过这个方法可以让系统产生随机数。不过默认情况下,其产生的随机数范围比较小,为大于等于0到小于1的 double
型随机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如日常工作中可能需要产生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机数。
如我们可以先通过 random
方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。然后再利用 Int
方法进行转换(它会去掉小数后面的数字,即只获取整数部分,不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的 random
方法按照如下的格式进行变型:
(int)(Math.random() * 10)
其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。只需要将这个10换成 n
即可,如改为:
(int)(Math.random() * n)
此时应用程序就会产生一个大于等于0小于 n
之间的随机数。如将 n
设置为5,那么其就会产生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。
有时候程序员可能需要生成一个指定范围内的随机偶数或者奇数。此时是否可以通过这个方法来实现?答案是肯定的。如现在程序需要生成一个1-100范围内的偶数。此时该如何实现?首先,需要生成一个0到99之内的随机数(至于这里为什么是99,大家耐心看下去就知道原因了)。要实现这个需求,很简单吧,只要通过如下语句就可以实现:
i = 1 + (int)(Math.random() * 100)
其中 (int)(Math.random() * 99)
产生0到99的整数型随机数。然后再加上1就是产生1到100之间的随机整数。然后将产生的随机数赋值给变量 i
。但是此时其产生的随机数既有偶数,又有奇数。而现在程序员需要的是一个随机的偶数。那么我们可以在后面加上一个 if
判断语句。将这个随机数除以2,如果没有余数的话(或者余数为0)则表明这个随机数是偶数,直接返回即可。如果其返回的余数不为零,那么就表明其是奇数,我们只要加上1就变为了偶数,返回即可。
注意,在上面的随机数生成中,笔者采用的范围是0到99,然后再加上1让其变为1到100的随机数。最后的结果就是生成1到100之间的随机偶数。其实,如果要范围随机奇数的话,只需要对上面的语句进行稍微的修改即可。
java 生成随机整数
方法一代码:
import java.util.Random;
public class Test {
public static void main(String[] args){
Random rand = new Random();
for(int i = 0; i < 10; i++) {
System.out.println(rand.nextInt(100) + 1);
}
}
}
方法二代码:
package edu.sjtu.erplab.io;
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max = 20;
int min = 10;
Random random = new Random();
int s = random.nextInt(max) % (max - min + 1) + min;
System.out.println(s);
}
}
扩展资料:
在 Windows 下编译 Java 文件、执行:
- 先创建一个 txt,更改为
test.java
。 - 编写代码,为输出为
helloworld
。 - 找到 cmd,并进行打开 cmd。
- 编译 Java 文件,输入命令为
javac test.java
。 - 如果没有报错,查看当前目录下是否有
.class
文件产生。 - 执行
.class
文件,在命令输入java test
,输出为helloworld
。
如何写java产生一个随机8位的数
Java 产生一个随机8位的数:
StringBuilder str = new StringBuilder(); // 定义变长字符串
Random random = new Random();
// 随机生成数字,并添加到字符串
for (int i = 0; i < 8; i++) {
str.append(random.nextInt(10));
}
// 将字符串转换为数字并输出
int num = Integer.parseInt(str.toString());
System.out.println(num);