public class TextRandomArray {
/**
* 将小于100的10个不重复的随机数,放入数组,并且打印出来
*/
public static void main (String[]args)
{
int lot[] = new int[10]; //定义数组
int num;
lot[0]= (int)(Math.random()*100); //产生0-99之间的随机数,并赋值给lot[0]
for (int i=1;i
num =(int)(Math.random()*100);
lot[i]=num;
/*
* 判断是否与前面产生的数值相等,
* 如果相等则表示数字有重复,于是将下标减1,退回去重新产生随机数
*/
for (int a=0; a {
if (lot[a] == lot[i] )
{
i--;
break;
}
}
}
System.out.print("此次产生的数组的值为:");
for (int b =0;b
System.out.print(lot[b]+" ");
}
}
}
测试结果:
此次产生的数组的值为:86 60 47 68 94 29 8 19 22 80
这粘过来的格式真让我看着头痛!
import java.util.*;
public class Rand10
{
public static void main(String[] args)
{
Random rand=new Random();
int[] num=new int[10];
boolean[] used=new boolean[100];
Arrays.fill(used,false);
for(int i=0;i<10;i++)
{
int tmp;
do
{
tmp=rand.nextInt()%100;
}while(tmp<0||used[tmp]);
used[tmp]=true;
num[i]=tmp;
}
for(int e:num)
System.out.println(e);
}
}
楼主参考。
用不用写得那么麻烦阿?用Set保存不就可以了么
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
final int length = 10;
int[] ary = new int[length];
fillAryByRandom(ary);
//Print the array
for(int i = 0; i < length; i++){
System.out.print(ary[i] + " ");
}
}
private static void fillAryByRandom(int[] ary) {
Random rand = new Random();
Set
while(set.size() != ary.length){
set.add(rand.nextInt(100));
}
int i = 0;
for(Integer digit: set){
ary[i++] = digit;
}
}
}
------------------
0 2 8 9 21 50 69 73 78 93
---------------
4 15 22 28 30 41 62 73 84 90