Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何按顺序组织随机值?_Java_Arrays_Loops - Fatal编程技术网

Java 如何按顺序组织随机值?

Java 如何按顺序组织随机值?,java,arrays,loops,Java,Arrays,Loops,我这里有一个程序,允许用户输入一个数字(n),程序输出“n”个随机数。我需要创建一个循环,将这些随机值从最小值组织到最大值,但我不确定如何进行,有什么想法吗?谢谢 // takes inputted value to "randomize" numbers too int amtOfNumbers = Integer.parseInt(amtOfNumbersField.getText()); int[] random = new int[amtOfNumbers-1]; // 1 preve

我这里有一个程序,允许用户输入一个数字(n),程序输出“n”个随机数。我需要创建一个循环,将这些随机值从最小值组织到最大值,但我不确定如何进行,有什么想法吗?谢谢

// takes inputted value to "randomize" numbers too
int amtOfNumbers = Integer.parseInt(amtOfNumbersField.getText()); 
int[] random = new int[amtOfNumbers-1]; // 1 prevents array from including 0
Random r = new Random(); //for random values

// Insert random numbers into the array
for (int i = 0; i < random.length; i++) {
    random[i] = r.nextInt(100) + 1;
}

// Output random numbers
for (int i = 0; i < random.length; i++) {
    itsATextArea.append(random[i] + "\n");
}
//也使用输入值“随机化”数字
int-amtOfNumbers=Integer.parseInt(amtOfNumbersField.getText());
int[]random=新的int[amtOfNumbers-1];//1阻止数组包含0
随机r=新随机()//对于随机值
//在数组中插入随机数
for(int i=0;i

我将信息(随机n个值)存储在数组中,以便以后调用它们

Java具有内置的排序功能:

// Insert random numbers into the array
for (int i = 0; i < random.length; i++) {
    random[i] = r.nextInt(100) + 1;
}

Arrays.sort(random);

// Output random numbers
for (int i = 0; i < random.length; i++) {
    itsATextArea.append(random[i] + "\n");
}
//在数组中插入随机数
for(int i=0;i
Java具有内置排序功能:

// Insert random numbers into the array
for (int i = 0; i < random.length; i++) {
    random[i] = r.nextInt(100) + 1;
}

Arrays.sort(random);

// Output random numbers
for (int i = 0; i < random.length; i++) {
    itsATextArea.append(random[i] + "\n");
}
//在数组中插入随机数
for(int i=0;i
使用类似
TreeSet
的数据结构自动保持数据的排序顺序

int amtOfNumbers = Integer.parseInt("10");

TreeSet<Integer> randomSet = new TreeSet<Integer>();
Random r = new Random(); //for random values

// Insert random numbers into the set
for (int i = 0; i < amtOfNumbers; i++) {
    randomSet.add(r.nextInt(100) + 1);
}

// Output in Ascending order
for (Integer i: randomSet) {
   System.out.println(i);
}

使用类似于
TreeSet
的数据结构自动保持数据的排序顺序

int amtOfNumbers = Integer.parseInt("10");

TreeSet<Integer> randomSet = new TreeSet<Integer>();
Random r = new Random(); //for random values

// Insert random numbers into the set
for (int i = 0; i < amtOfNumbers; i++) {
    randomSet.add(r.nextInt(100) + 1);
}

// Output in Ascending order
for (Integer i: randomSet) {
   System.out.println(i);
}

您可以将它们放入arraylist中,并定义自己的比较器对它们进行排序。比如说

int amtOfNumbers = Integer.parseInt("10");

ArrayList<Integer> randomList= new ArrayList<Integer>();
Random r = new Random(); //for random values

// Insert random numbers into the set
for (int i = 0; i < amtOfNumbers; i++) {
    randomList.add(r.nextInt(100) + 1);
}

//Now sort it however way you want
Collections.sort(randomList, new MyCustomComparator());
intamtofnumbers=Integer.parseInt(“10”);
ArrayList randomList=新建ArrayList();
随机r=新随机()//对于随机值
//在集合中插入随机数
对于(int i=0;i
您只需要定义一个新的比较器

public class MyCustomComparator implements Comparator<Integer>(){

   public int compare(Integer o1, Integer o2){
      //say I want descending order
      return -1* o1.compare(o2);
   }
}
公共类MyCustomComparator实现Comparator(){
公共整数比较(整数o1,整数o2){
//说我要降序
返回-1*o1。比较(o2);
}
}

但是你可以根据自己的意愿进行分类。只要确保它返回- 1,如果你想考虑当前值O1,小于O2,返回0,如果它们被认为是平等的,或1,如果大于基于你的if语句条件。< /P> < P>你可以把它们放到一个ARARYLIST中,并定义你自己的比较器来排序它们。比如说

int amtOfNumbers = Integer.parseInt("10");

ArrayList<Integer> randomList= new ArrayList<Integer>();
Random r = new Random(); //for random values

// Insert random numbers into the set
for (int i = 0; i < amtOfNumbers; i++) {
    randomList.add(r.nextInt(100) + 1);
}

//Now sort it however way you want
Collections.sort(randomList, new MyCustomComparator());
intamtofnumbers=Integer.parseInt(“10”);
ArrayList randomList=新建ArrayList();
随机r=新随机()//对于随机值
//在集合中插入随机数
对于(int i=0;i
您只需要定义一个新的比较器

public class MyCustomComparator implements Comparator<Integer>(){

   public int compare(Integer o1, Integer o2){
      //say I want descending order
      return -1* o1.compare(o2);
   }
}
公共类MyCustomComparator实现Comparator(){
公共整数比较(整数o1,整数o2){
//说我要降序
返回-1*o1。比较(o2);
}
}


但是你可以根据自己的意愿进行分类。只要确保它返回- 1,如果你想考虑当前值O1,小于O2,返回0,如果它们被认为是平等的,或1,如果大于基于你的if语句条件。< /P>你有很多选择:或者使用内置的java排序函数。我认为java有这个
Arrays.Sort()
功能。我认为如果你需要组织数组,这个方法可能会很有用。你是说像
Arrays.sort(random)?如果生成所有条目,然后进行排序,则有许多选项可用。如果您希望在逐个介绍条目时对其进行排序,则是一种自然选择,易于编程。是否允许在序列中重复?这将帮助您决定选择哪种数据结构。如果是,则不能使用集合。如果不是,那么使用Set将是最快的。您有很多选择:。或者使用内置的java排序函数。我认为java有这个
Arrays.Sort()
功能。我认为如果你需要组织数组,这个方法可能会很有用。你是说像
Arrays.sort(random)?如果生成所有条目,然后进行排序,则有许多选项可用。如果您希望在逐个介绍条目时对其进行排序,则是一种自然选择,易于编程。是否允许在序列中重复?这将帮助您决定选择哪种数据结构。如果是,则不能使用集合。如果没有,那么使用Set将是最快的。有没有办法也让它下降?那么从最高值到最低值?@user2383438看看我的答案。它同时支持这两个命令。有没有办法也让它下降?那么从最高值到最低值?@user2383438看看我的答案。它支持两个订单。如果不允许重复,则此操作将起作用。否则,树映射可以使用数字作为键,数字的实例计数作为值。@BevynQ您确实有一个点,但在随机数的上下文中,通常不希望生成的输出重复。(这是主观需要。)如果不允许复制,这将起作用。否则,树映射可以使用数字作为键,数字的实例计数作为值。@BevynQ您确实有一个点,但在随机数的上下文中,通常不希望生成的输出重复。(这是主观需要)你是下一个阿兰图灵钢琴家!你是下一个阿兰图灵钢琴家!