java怎样产生不同随机数

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:58:48
if(e.getSource()==开始){
m=String.valueOf((int)(Math.random()*6)+1);
text1.setText(m);
for(int i=0;i<3;i++){
a[i]=String.valueOf((int)(Math.random()*3)+1);
for(int j=0;j<i;){
if(a[i]==a[j]){
a[i]=String.valueOf((int)(Math.random()*3)+1);
j=0;
}
else
{
j++;
}
}
System.out.print(a[i]+" ");
}
请问我这段代码哪里有错误??输出的始终有重复的随机数!!!

import java.util.Set;
import java.util.TreeSet;

public class Admin {
public static void main(String[] aa) {
int numberCount = 10;
Set set = new TreeSet();
while (set.size() < numberCount) {
int number = (int) (Math.random() * 10);
if (!set.contains(number)) {
set.add(number);
}
}
}
}

TreeSet 一种数据结构,里面没有重复的数据,而且,我测试过,这个需求的这种实现的效率很高的,

JAVA中取随机数有三种方法:
一、Math.random()方法,产生一个大于等于0小于1的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机。
  二、在java.util.Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生int、float、double,long。
  三、在System类中有一个currentTimeMillis()方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,我们可以拿他作为一个随机数,我们可以拿他对一些数取模,就可以把他限制在一个范围之内

java.util.Random rand=new java.util.Random();

for(int i=0;i<10;i++){
System.out.println(rand.nextInt(100));
}