逆序排序---藍橋杯

 

問題描述

  編寫一個程序,讀入一組整數(不超過20個),並把它們保存在一個整型數組中。當用戶輸入0時,表示輸入結束。然後程序將把這個數組中的值按逆序重新存放,並打印出來。例如:假設用戶輸入了一組數據:7 19 -5 6 2 0,那麼程序將會把前五個有效數據保存在一個數組中,即7 19 -5 6 2,然後把這個數組中的值按逆序重新存放,即變成了2 6 -5 19 7,然後把它們打印出來。
  輸入格式:輸入只有一行,由若干個整數組成,中間用空格隔開,最末尾的整數爲0。
  輸出格式:輸出也只有一行,即逆序排列後的整數,中間用空格隔開,末尾沒有空格。
  輸入輸出樣例

樣例輸入

7 19 -5 6 2 0

樣例輸出

2 6 -5 19 7

 

算法思想:輸入的是不確定個數的一行數字,採用集合類list存儲數據,一個個從鍵盤讀取數據,直到讀到0,結束讀取數據,表示數字輸入結束,然後調用Collection中的reverse()方法將list翻轉輸出即可。

import java.util.*;
public class test{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        ArrayList<Integer>list=new ArrayList<>();  //採用集合存儲數據
        for(int a=sc.nextInt();a!=0;a=sc.nextInt()){  //讀取數據
            list.add(a);
        }
        Collections.reverse(list);//將數列翻轉
        for(int i:list){    //for-each 遍歷輸出
            System.out.print(i+" ");
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章