用java编程,取1到100之间的随机数8个,并且是不能重复的,按照升序排列的8个数字,请问一下怎么写?谢谢
3个回答
展开全部
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]);
}
}
写了一个 ....可以运行的 希望能帮你~~
{
// 创建集合存放元素
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]);
}
}
写了一个 ....可以运行的 希望能帮你~~
追问
谢谢
展开全部
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;
}
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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+" ");}
}
}
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
追答
求采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |