在数组/列表中对整数进行排序,然后在Java中按特定顺序打印出来?

时间:2015-09-30 15:12:19

标签: java arrays

这是我的代码:

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        int[] numbers = {9, 5};

        if (numbers[0] > numbers[1]){
            System.out.print(Arrays.toString(numbers));
        }else if (numbers[1] > numbers[0]) {
            System.out.print(Arrays.toString(numbers));
        }
    }
}

到目前为止,我有这个代码,它抓取数字,然后打印出来。显然它总是会做if语句。有没有办法可以说下面的事情:

if (numbers[0] > numbers[1]){
                System.out.print(Arrays.toString(numbers(1, 0));
            }else if (numbers[1] > numbers[0]){
                System.out.print(Arrays.toString(numbers(1, 0));
            }

其中0和1是数组中的位置。也是System.out.print(numbers[0]);有效的语法或如何让它做到这一点,从而避免转换为String()阶段

感谢

P.S。这是一个非常新的java因此简单,也注意:试图不确定.sort()等内置函数,因为这会破坏练习的重点。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));

或者这个:

public static void exchangeSort ( int [ ] num ) {
     int i, j, temp;
     for ( i = 0; i < num.length - 1; i ++ ) {
          for ( j = i + 1; j < num.length; j ++ ){
               if( num[ i ] < num[ j ] ){
                       temp = num[ i ]; 
                       num[ i ] = num[ j ];
                       num[ j ] = temp; 
                }           
          }
     }
}