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

作者&投稿:洪妮 (若有异议请与网页底部的电邮联系)
java:随机生成100个1000以内的整数存入数组并排序,然后输出最大的三个~

参考代码和详细注释如下
import java.util.Arrays;public class Demo {public static void main(String[] args) {int numCount=100;//随机数个数int maxValue=1000;//随机数的上限int[] ary = new int[numCount];for (int i = 0; i 0; i--) {System.out.println(ary[numCount-i]);//从数组最后面取3个,就是最大的3个数}}}

pascal程序如下,用记数法。假如需要c语言的再通知声,谢谢。
var n,i,x:integer;
a:array[1..1000]of boolean;
begin
randomize;
readln(n);
fillchar(a,sizeof(a),true);
i:=1;
while i<=n do
begin
x:=random(1000)+1; //x为产生的一个随机数
if a[x] then begin a[x]:=false;i:=i+1; end; //如果数组a下标=x的值为true,表示x没有产生过
end;
for i:=1 to 1000 do
if not a[i] then write(i,' '); //不要排序了,只有把1-1000个数组元素扫描一次,false的就输出
end.

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));
}
}


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.*;
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);
}

}
}

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);
}
}

编写一个java程序,找出100000以内的完全数,所谓完全数,是指这样的数...
答:给你两个方法,效率相差极大,基本上第一种方法是不可取的,具体自己看吧 public class PerfectNumber { / param args 找出100000以内的完全数 / int count=0;//大体计算次数 public void normal(int number){ //穷举,耗时 count=0;for(int i=1;i<number;i++){ int sum=0;for(int j=1;...

java中遍历一个长度为100000的int数组 将相同的元素指保留一个
答:把数组元素放到LinkedHashSet中,然后再从LinkedHashSet中取出来即可。Set set = new LinkedHashSet();for(int i=0; i<num.length(); i++){ set.add(new Integer(num[i]));} Iterator iter = set.iterator();int i = 0;while(iter.hasNext()){ num[i++] = ((Integer)iter.next()...

用java做一个简易的ATM机具体流程在下面
答:代码如下package BaiDdu;import java.util.Scanner;public class ATM {/*1提示请输入密码然后直接进入下一步。密码6位限制(限制方法用 “最小大于100000最大小于999999”这样限制)2.提示密码正确还是错误密码直接弄成“123456”错误返回上一步循环方法用for循环。3.密码输入正确后进入下一步提示5个选项...

用122345六个数用Java写一个main函数打印出所有不同的排序
答:temp = array[i] * 100000 + array[j] * 10000 + array[k] * 1000 + array[m] * 100 + array[n] * 10 + array[x];newArray[index] = temp;index++;} } } } } } } //遍历新数组,遇到相同的值,只留其中一个,其他全部为0 for (int i = 0; i < newArray.length; i+...

java问题
答:import java.util.*;public class HuiWen { public static void main(String[] args) { int huiWen,ge,shi,qian,wan;huiWen=(int)(Math.random()*100000);ge=huiWen%10; //分解出随即数的个位数 shi=huiWen/10%10; //```十位 qian=huiWen/1000%10; //```千位 wan=huiWen/10000; /...

编写java程序:输入一组整数存放在数组中,比较并输出其中最大值和最小...
答:public class Arr{ //数组 int[] arr = {3,1,6,4,5,10,2}; //对数组进行简单的排序 java.util.Arrays.sort(arr); //输出最大值、最小值 System.out.println("最大值:" + arr[arr.length-1] +"\n最小值:" + arr[0]); //从小到大输出 System.out...

求Java代码
答:int total = 0; // 募捐总数 int avg = 0; // 平均每人捐款金额 int donation; // 每个人的捐款金额 while (total < 100000 && num < 1000) { System.out.print("请输入第" + (num + 1) + "个人的捐款金额:");donation = scanner.nextInt();total += donation;num++;...

一个数字很乱的数组,怎样用java来降序排列?
答:import java.util.*;public class myQuiz{ public static void main(String[] args) { Employee e1 = new Employee("Cay",4000);Employee e2 = new Employee("Bush",6000);Manager m1 = new Manager ("Alice",5000);//m1.setBonus(100000);List<Employee> list_1=new ArrayList<...

回文数个数,Java编程
答:import java.util.Scanner;public class PalindromicNumber {public static void main(String[] args) {System.out.println("一个正整数n(0 < n <= 100000 )");Scanner sc = new Scanner(System.in);int n = sc.nextInt();int count = 0;for(int i=1;i<=n;i++){if(isPalindromic...

接受用户录入的一个数字,判断该数字是不是雷劈数用java写出?
答:System.out.print("请输入一个数:");try { //捕获异常 long input = new Scanner(System.in).nextLong();while (input<10||input>99999999) { System.out.println("你输入的数字不在判断范围!\n");System.out.print("请输入一个数:");input = new Scanner(System.in).nextLong();} ...