Java

Javaプログラミング基礎の練習~配列

More than 1 year has passed since last update.

問題

入力した5つの数字を逆順に表示するプログラムを作成してください。
要件
* ソースファイル名「Check51.java」
* 5つの整数を入力します
* 入力された5数を配列に格納します
* 配列の要素を最後から順番に表示します
* 以下の実行結果のように出力してください

数字を5つ入力してください
1>10
2>20
3>30
4>40
5>50
num[4] = 50
num[3] = 40
num[2] = 30
num[1] = 20
num[0] = 10

実装

Check51.java
package practice;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Check51 {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("数字を5つ入力してください");
        String line;
        try {
            ArrayList<Integer> nums = new ArrayList<Integer>();

            for( int i = 1; i <= 5; i++) {
                System.out.print(i+">");
                line = reader.readLine();
                int num = Integer.parseInt(line);
                nums.add(num);
            }

            for( int i = 5; i > 0; i--) {
                int j = i-1;
                System.out.println("num["+j+"] = "+nums.get(j));
            }
        } catch (NumberFormatException e) {
            System.out.println("整数を入力してください");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

forの中で、iから1を引くのは、スマートではないように思いますが。。
配列が0から始まるので、こうしないときれいにいきませんでした。