用java编程,取1到100之间的随机数8个,并且是不能重复的,按照升序排列的8个数字,请问一下怎么写?谢谢

如题所述

public static void main(String[] args)
{
// 创建集合存放元素
HashSet<Integer> set = new HashSet<Integer>(8);
for (int i = 0; i < 9; i++)
{ // 循环创建随机数 用set放 避免存在重复的 这里可以修改下
if (set.size() < 8)
{
set.add((int) (Math.random() * 100));
}
}
//转换成为数组
Object[] array = set.toArray();
Arrays.sort(array);
for (int i = 0; i < 8; i++)
{
System.out.println(array[i]);
}
}

写了一个 ....可以运行的 希望能帮你~~追问

谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-24
int a[]=new int[8];
int b=1;
for (i=0;i<8;i++){
a[i]=Math.random()*((100-i)-b)+b;
/*数组a[i+1]是在[a[i]+1,100-i]之间取得,所以肯定是递增,并且保证了后面每个数都不一样*/
b=a[i]+1;
}追问

谢谢俄i

第2个回答  2012-08-24
mport java.util.*;
public class t22{
public static void main(String [] args){
int [] arr=new int[8];
for(int i=0;i<8;i++){
int max=100;
int min=1;
Random random = new Random();
arr[i] = random.nextInt(max)%(max-min+1) + min;
System.out.print(arr[i]+" ");
}
System.out.println();
Arrays.sort(arr);
for(int a:arr)
{System.out.print(a+" ");}
}
}追问

谢谢俄io

追答

求采纳

相似回答