JAVA里取10个1-100随即数并且不重复怎么写代码?

谢谢了!~

import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;

public class RandomTest {
public static void main(String[] args){
Random random = new Random();
Set numberSet = new HashSet();
while(numberSet.size()<10){
int rand = Math.abs(random.nextInt(100));
numberSet.add(new Integer(rand)); //Set中是不能放进重复的值的,当它有10个时,就满足你的条件了
}
for(Iterator it=numberSet.iterator();it.hasNext();){
System.out.println(it.next());
}
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-30
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = new int[10];
int i = 1;
array[0] = (int)(Math.random()*100) + 1;
while(i < 10){
int count = 0;
int now = i;
array[i] = (int)(Math.random()*100 + 1);
for(int j = 0; j < now; j++){
if(array[i] != array[j])
count++;
if(count == i) i++;
}
}
for(int j = 0; j < 10; j++)
System.out.println(array[j]);
}本回答被提问者采纳
第2个回答  2008-11-30
int []a=new int[10];定义数组长度为10
int b=0;
int number=0;
while (number<10){
b=(int)(Math.random()*99+1);//产生随机数为1到100之间的数强制取整
//进行判断所产生的数是否重复,若已经有了则重新产生。
if (b!=a[0]&&b!=a[1]&&b!=a[2]&&b!=a[3]&&b!=a[4]&&b!=a[5]]&&b!=a[6]&&b!=a[7]&&b!=a[8]&&b!=a[9]){
a[number]=b;
number++;
}
}
数组a存放了10个不重复的1到100之间的随机数。
第3个回答  2008-11-30
import java.util.*;

public class sjshu
{
private int[] a;
private int b,i=0,j=0;
public sjshu()//取10个随即数存入数组a[i]并打印输出
{
Random random=new Random();
a=new int[10];
while(i<10)
{
if(i==0)
a[i]=1+random.nextInt(99);
else
a[i]=judge(i,a);
i++;
}
for(j=0;j<i;j++)
System.out.print(a[j]+"\t");
}
int judge(int i,int a[])//判断取的随即数有无与数组已存元素重复
{
Random random=new Random();
j=0;
b=1+random.nextInt(99);
while(b!=a[j]&&j<i)
{
j++;
}
if(b==a[j]) judge(i,a);
return (b);
}
public static void main(String[] args)
{
sjshu mysjshu=new sjshu();
}
}
第4个回答  2008-11-30
可以设置一个数组,每取道一个就放到数组当中,放之前先索引一下数组中是不是已经有这个数了,如果有就再生成以下随机数,没有直接写入数组

恩,思路就是这样的,实现起来你肯定没问题啦

java从1-100随机提取10个不重复值,怎么编程啊?
public static void main(String[] args) { int[] num = new int[10];\/\/存储10个生成的数据 int i=0;\/\/计数器 指示当前要填加到的数组下标,并指示当前已经添加了几个数 boolean b;\/\/判断是否重复的辅助变量 while(i<10){ \/\/生成一个随机数 int j = (int)(Math.random()*100+1);\/...

Java随即生成10个1-100之间的数放到数组中,要求这个10个数是不能重复...
第一步在1-100之前产生随机数,调用随机数函数就行 第二步,生成第一个随机数判断是否是偶数,被2除余数为0就行,这里做个判断,如果是那么存入数组 第三步在来进行第二个随机数生成,判断是否偶数,然后再判断是否在数组中可以用逐一比较的方法 ...

用java编写一个程序,产生10个1到100的随机数
java.util.Random random=new java.util.Random();\/\/ 定义随机类int result=random.nextInt(10);\/\/ 返回[0,10)集合中的整数,注意不包括10return result+1; \/\/ +1后,[0,10)集合变为[1,11)集合,满足要求

随机生成10个1~100之间的整数,存入到一个数组中,输出该数组的最大值...
public class lqq11_2 { public static void main(String args[]) { int my_lqq[] = new int[10];for (int i = 0; i < my_lqq.length; i++) { my_lqq[i] = (int) (Math.random() * 100);System.out.print(my_lqq[i] + " ");} System.out.println();int min = ...

java 生成100以内10个不重复的随机数,用Math.random()来做,求代码
public class RandomDemo { public static void main(String[] args){ Set<Integer> set=new HashSet<Integer>();boolean panduan=true;while(true){ int z=(int)(Math.random()*100+1);panduan=set.add(z);if(!panduan){ continue;} if(set.size()>=10){ break;} } System.out....

Java: 随机生成10个整数(1-100),对生成的序列进行排序,并插入一个任...
import java.util.Random;import java.util.Scanner;public class TestTest { public static void main(String[] args) { int arr[] = new int[11];Random r=new Random();for(int i=0;i<10;i++){ arr[i]=r.nextInt(100)+1;\/\/得到10个100以内的整数 } Arrays.sort(arr);for(int ...

JAVA随机输出10个数不重复并且按顺序从小到大排列,用java.lang.Math.ra...
} \/\/ 方法体1:用Math.random()方法生成随机整数 private static int createNO() { \/\/ math.random生成的随机数是0~1之间的小数,百倍之后取整 int ran = (int) (100 * Math.random());return ran;} \/\/ 方法体2:向random数组中添加十个不同的元素 private static int[] random() { \/...

java 随机1到100的10个整数,找出第二大的数
可以先按从大到小进行排序,然后取数组第二个元素即是第二大数,具体代码如下:import java.util.*;public class App06 {public static void main(String[] args) {int[] arr = new int[10];Random random = new Random(new Date().getTime());for (int i = 0; i < arr.length; i+...

写JAVA类,实现以下功能随机产生10个0-100之间的数,
\/\/\/刚才看见的 自己写的 你试试吧 public class RandmNumber {public static void main(String[] args) {int[] b = new int[10];int k = 0;int temp = 0;int sum = 0;for (int i = 0; i < b.length; i++) {b[i] = (int) (Math.random() * 100);for (int j = 0;...

java题目:产生10到100之内的随即整数输出,并把10个数按从小到大的顺序...
import java.util.Random;import java.util.Arrays;public class Test { public static void main(String[] args) { int[] a = new int[10]; Random r = new Random(); for(int i = 0; i < a.length; i++) { a[i] = r.nextInt(91) + 10;\/\/10到100之间的随机数,包含100 } Arrays.sort...

相似回答