java怎样产生不同随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎样产生不同随机数相关的知识,希望对你有一定的参考价值。

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]+" ");

请问我这段代码哪里有错误??输出的始终有重复的随机数!!!

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,我们可以拿他作为一个随机数,我们可以拿他对一些数取模,就可以把他限制在一个范围之内
参考技术A 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 一种数据结构,里面没有重复的数据,而且,我测试过,这个需求的这种实现的效率很高的,本回答被提问者采纳
参考技术B java.util.Random rand=new java.util.Random();

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

JAVA中怎么随机产生一个不重复的四位数

//题主估计想问产生一个四个不同数字的四位数//
//首先千位不为0
String number=String.valueOf((int)(Math.random()*9+1));
//再产生其它三位数
for(int i=0;i<=2;)
String newnumber=String.valueOf((int)(Math.random()*9));
if(!number.contains(newnumber))
number=number+newnumber;
i++;


System.out.println(number);
参考技术A (int)((Math.random()*9+1)*1000)随机四位数
类似的后面1000的位数增加到几位就是随机几位数
参考技术B (int)((Math.random()*9+1)*1000)

以上是关于java怎样产生不同随机数的主要内容,如果未能解决你的问题,请参考以下文章

怎样用java产生一个指定范围的随机数?

SQLSever: 怎样在select中的每一行产生不同的随机数?

java编码中怎样产生四位随机数

怎样用java产生一个指定范围的随机数?

Java中怎样产生随机数和随机字母

Java:怎样产生1~6的随机数,并使1~4产生的概率大一些呢?