产生10个范围在1-10之间的不重复的随机数,原样输出,用java中的数组。
import
java.util.Random;
public
class
Rand
{
public
static
void
main(String[]
args)
{
//产生随机数的类
Random
random=new
Random();
//装随机数的数组
10个整数
int[]
num=new
int[10];
//临时存放产生的一个随机数
int
ret=0;
//定义标志位,flag=false代表数组中无重复数,true代表有重复数
boolean
flag=false;
for
(int
i
=
0;
i
num.length;)
{
//产生随机数
ret=Math.abs(random.nextInt()%10)+1;
//循环检测该随机数是否与数组中的数重复
for
(int
j
=
0;
j
num.length;
j++)
{
//如果存在重复,标志位变为true,并且break退出循环检测
if
(ret==num[j])
{
flag=true;
break;
}else
{
flag=false;
}
}
//如果检测完无重复数据,则将产生的随机数存入数组中,并且数组下标计数加1
if
(!flag)
{
num[i]=ret;
i++;
}
}
//循环输出产生的随机数
for
(int
i
:
num)
{
System.out.print(i+”
“);
}
}
}
输出:6
3
5
1
4
10
7
9
8
2
有不明白的请继续问
java如何产生1-8的整数随机数?
(int)(Math.random()*8)+1
或者
Random r =new Random(100);
System.out.println(r.nextInt(8)+1);
Java产生随机数的两种方式
1、通过Math.random()方法返回一个0到1之间的double值。
2、通过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之间的随机整数,前面返回0到99之间的随机数,加1就成了1到100之间的随机数。
Random类
Random 类是 Java 的 util 包中的一个类。
一、Random类使用说明
Random类使用的根本策略是分带种子和不带种子的Random的实例。
通俗说,两者的区别是:带种子的,每次运行生成的结果都是一样的。
不带种子的,每次运行生成的都是随机的,没有规律可言。
创建不带种子的Random对象
Random random = new Random();
使用一个和当前系统时间对应的相对时间有关的数字作为种子数。
创建带种子的Random对象有两种方法:
1) Random random = new Random(10);
2) 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怎么每隔一秒钟输出一个随机数(1-10之间)
可以用 java.util.Timer(计时器) 以及 java.util.TimerTask(计时任务) 来实现,具体代码如下:
import java.io.IOException;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
// 创建一个计时器
Timer timer = new Timer();
// 开启一个计时调度,延迟 0毫秒(也就是立即开始执行),调度评率: 1秒
timer.schedule(new TimerTask() {
@Override
public void run() {
// 生成随机数逻辑
Random r = new Random();
int num = r.nextInt(10) + 1;
System.out.println(“随机数为:” + num);
}
}, 0L, 1000L);
// timer.cancel(); // 关闭计时器
}
}
java如何产生1-10随机数
number = (int)(10.0*Math.random()) + 1;
你好,以上语句就可以实现了