用java在1到100000之间生成1000个不重复的数并排序存入数组中,求大神帮忙!

 我来答
sbmqj1995
2013-04-14 · TA获得超过230个赞
知道答主
回答量:248
采纳率:0%
帮助的人:136万
展开全部
import java.util.Arrays;
import java.util.Random;
public class Test {
public static void main(String[] args) {
Random ran = new Random();
int[] arr = new int[1000];
// 生成1000个不重复的随机数保裤神存到数组
outer:for (int i = 0; i < 1000; i++) {
// 生成1-100000的随机数
int num = ran.nextInt(100000)+1;
// 判断数组中是否闹谨有重复数字
for (int j = 0; j < arr.length; j++) {
if(arr[i]==0)
break;
if(arr[i]==num){
// 如果存在重复数字
continue outer;
}
}
arr[i] = num;
}
// 进行排胡弯亏序
Arrays.sort(arr);

System.out.println(Arrays.toString(arr));
}
}
Stale331x
2013-04-15 · TA获得超过1299个赞
知道小有建树答主
回答量:1276
采纳率:33%
帮助的人:832万
展开全部
import java.util.*;
public class DD {
private HashSet<Integer>戚腔 set=new HashSet<Integer>();
private Integer[] l=new Integer[1000];
public void initAndSort(int size){
for(int i=0;i<size;i++){
int el=(int)(Math.random()*100000+1);//随机生成
if(!set.add(new Integer(el))) i--;//HashSet里面,调用add方法,如带仔顷果添加的元素已存在,则会返回false且蠢陆不会添加进去
}
l=set.toArray(l);
Arrays.sort(l); //排序
}

public void printList(){
int k=0;
for(int i:l){
k++;
System.out.print(i+" ");
if(k%100==0) System.out.println();
}
}

public static void main(String args[]){
DD d=new DD();
d.initAndSort(1000);
d.printList();
}
}
追问

您写的代码出现空指针异常?后来我用自己写的搞定了,还是要谢谢你的帮助

追答

- -  怎么会有,我都运行过的了,肯定是你复制的时候少了点,再发一下

 

import java.util.*;
public class DD {
private HashSet<Integer> set=new HashSet<Integer>();
private Integer[] l=new Integer[1000];
public void initAndSort(int size){
for(int i=0;i<size;i++){
int el=(int)(Math.random()*100000+1);
if(!set.add(new Integer(el))) i--;
}
l=set.toArray(l);
Arrays.sort(l);
}
public void printList(){
int k=0;
for(int i:l){
k++;
System.out.print(i+" ");
if(k%100==0) System.out.println();
}
}
public static void main(String args[]){
DD d=new DD();
d.initAndSort(1000);
d.printList();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2013-04-14 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
import java.util.*;
import java.io.*;
import java.util.Scanner;

public class test12 {
@SuppressWarnings("rawtypes")
public static void main(String[] args) {

final int max = 100000;

Random rand = new Random();
Set set = new TreeSet();

while(set.size() < 1000){
set.add(Integer.valueOf(rand.nextInt(max)+1));
}

int[] resultAry = new int[1000] ;

Iterator ite = set.iterator();

int i = 0;
while(ite.hasNext()){
int value = ((Integer)ite.next()).intValue();
resultAry[i++] = value;
System.out.println(value);
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泰然还素净的海鸥H
2013-04-16 · TA获得超过332个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:136万
展开全部
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
Set<Integer> set = new TreeSet<Integer>();
Random random = new Random();
while (set.size() < 1000) {
set.add(random.nextInt(99999) + 1);
}
System.out.println(set);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式