問題
入力した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から始まるので、こうしないときれいにいきませんでした。