【答案一】
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int num=sc.nextInt();
int[] array=new int[num];
for(int i=0;i<num;i++){
array[i]=sc.nextInt();
}
int sort=sc.nextInt();
Arrays.sort(array);
if(sort==0){
for(int i:array){
System.out.print(i+ " ");
}
}else if(sort==1){
for(int i=array.length-1;i>=0;i--){
System.out.print(array[i]+ " ");
}
}
}
}
}
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int num=sc.nextInt();
int[] array=new int[num];
for(int i=0;i<num;i++){
array[i]=sc.nextInt();
}
int sort=sc.nextInt();
Arrays.sort(array);
if(sort==0){
for(int i:array){
System.out.print(i+ " ");
}
}else if(sort==1){
for(int i=array.length-1;i>=0;i--){
System.out.print(array[i]+ " ");
}
}
}
}
}
【答案二】
// 思路:本题考查对数组的排序 可以先将元素存入 arraylist 中, 再调用arraylist.sort(Comparator c)进行排序
/* arraylist.sort(Comparator c) :
元素进行升序排列: Comparator.naturalOrder() 元素进行降序排列:Comparator.reverseOrder()
*/
importjava.util.*;
publicclassMain{
publicstaticvoidmain(String[] args) {
Scanner sc = newScanner(System.in);
while(sc.hasNextInt()){
intsize = sc.nextInt(); //接收数组元素个数
List<Integer> list = newArrayList<>();
for(inti = 0; i < size; i++) { //按数组元素个数 循环接收元素
list.add(sc.nextInt()); //将每一元素放入 list 中
}
intrule = sc.nextInt(); //接收排序规则:一个整数0或1。0代表升序排序
if(rule == 0){ // 0代表升序排序
list.sort(Comparator .naturalOrder());
}elseif(rule == 1){ // 1代表降序排序
list.sort(Comparator .reverseOrder());
}
for(Integer n : list){ // 将 list 元素输出,注意元素间用空格隔开
System.out.print(n+ " ");
}
}
}
}