1. 程式人生 > >利用Arrays.sort();方法對相應陣列進行升序、降序排列

利用Arrays.sort();方法對相應陣列進行升序、降序排列

一.方法

Ⅰ.Arrays.sort();方法是Array類中的工具方法,使陣列中的元素進行升序排列。匯入載入java.util.Arrays;後可以直接使用。

二.升序例項

Ⅰ.舉例說明
對任意人數的學生成績進行升序排列。

Ⅱ.程式碼
①先利用Arrays.sort();方法對指定陣列進行升序排列,然後使用for迴圈成績ary[i],最後列印輸出。

import java.util.Scanner;
import java.util.Arrays;
public class test4{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println(“請輸入學生人數:”);
int people=in.nextInt();
int[] ary=new int[people];
for(int i=0;i<=ary.length-1;i++){
System.out.println(“請輸入第”+(i+1)+”名學生的成績:”);
ary[i]=in.nextInt();
}
Arrays.sort(ary);
System.out.println(people+”名學生的成績依次升序排列為:”);
for(int i=0;i<=ary.length-1;i++){
System.out.print(ary[i]+”\t”);
}
}
}
這裡寫程式碼片

②Arrays.toString();方法輸出。API文件的說明:返回指定陣列的字串形式表現。先利用Arrays.sort();方法對指定陣列進行升序排列,然後使用
Arrays.toString();方法列印輸出。如果沒有排序的話,直接利用Arrays.toString();方法輸出的值為[元素1,元素2,....];和陣列的值相等。
![這裡寫圖片描述](https://img-blog.csdn.net/20170818150800288?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW93dWtvd3U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
)

import java.util.Scanner;
import java.util.Arrays;
public class test4{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println(“請輸入學生人數:”);
int people=in.nextInt();
int[] ary=new int[people];
for(int i=0;i<=ary.length-1;i++){
System.out.println(“請輸入第”+(i+1)+”名學生的成績:”);
ary[i]=in.nextInt();

    }
        Arrays.sort(ary);               //對陣列ary進行升序排列
        System.out.println(people+"名學生的成績依次升序排列為"+Arrays.toString(ary));                  ////呼叫Arrays.toString();將陣列a的值轉換為字串並 顯示出來
}

}

三.降序例項
Ⅰ.舉例說明
對隨機個數字母進行降序排列

Ⅱ.程式碼
①將Arrays.sort();方法升序過的陣列元素,根據條件i從大到小的迴圈輸出就可得到降序排序效果。

import java.util.Scanner;
import java.util.Arrays;

public class test4{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println(“請輸入字母個數:”);
int people=in.nextInt();
String[] ary=new String[people];
for(int i=0;i<=ary.length-1;i++){
System.out.println(“請輸入第”+(i+1)+”個字母:”);
ary[i]=in.next();
}
Arrays.sort(ary);
System.out.println(people+”個字母的依次升序排列為:”);
for(int i=0;i<=ary.length-1;i++){
System.out.print(ary[i]+”\t”);
}
System.out.println(“\n”+people+”個字母的依次降序排列為:”);
for(int i=ary.length-1;i>=0;i–){
System.out.print(ary[i]+”\t”);
}
}
}
“`