キーボードから整数の個数と各整数の値を読み込んで配列に格納し、指定された要素番号(添字)の値を表示するプログラム

キーボードから整数の個数と各整数の値を読み込んで配列に格納し、指定された要素番号(添字)の値を表示するプログラム

練習問題6

キーボードから整数の個数と各整数の値を読み込んで配列に格納し、指定された要素番号(添字)の値を表示するプログラムを作成する。

 

ただし、
入力文字列を整数に変換できない場合は「整数以外が入力されました。」、

 

指定した番号が配列の添字の範囲外である場合は「○○番の整数は存在しません。」、

 

キーボードからの読み込み時に例外が発生した場合は「入力時に例外が発生しました。」

 

と表示し、例外の発生の有無にかかわらず「プログラムを終了します。」と最後に表示してください。

 

実行画面

整数の個数を入力して下さい > 5【enterキー】

0番の整数を入力して下さい > 4【enterキー】
1番の整数を入力して下さい > 7【enterキー】
2番の整数を入力して下さい > 2【enterキー】
3番の整数を入力して下さい > 9【enterキー】
4番の整数を入力して下さい > 3【enterキー】
何番の整数を表示しますか? > 1【enterキー】
1番の整数は7です。
プログラムを終了します。

整数の個数を入力して下さい > 5【enterキー】

0番の整数を入力して下さい > 4【enterキー】
1番の整数を入力して下さい > 7【enterキー】
2番の整数を入力して下さい > 2【enterキー】
3番の整数を入力して下さい > 9【enterキー】
4番の整数を入力して下さい > 3【enterキー】
何番の整数を表示しますか? > 5【enterキー】
5番の整数は存在しません。
プログラムを終了します。

解答例

import java.io.*;

public class ren14_6 {
public static void main(String[] args) {
int n=-1;
int num;
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
try {
System.out.print("整数の個数を入力して下さい > ");
num = Integer.parseInt(br.readLine());
int array[] = new int[num];
for(int i=0; iSystem.out.print(i + "番の整数を入力して下さい > ");
array[i] = Integer.parseInt(br.readLine());
}
System.out.print("何番の整数を表示しますか? > ");
n = Integer.parseInt(br.readLine());

System.out.println(n + "番の整数は" + array[n] + "です。");
}
catch (NumberFormatException e) {
System.out.println("整数以外が入力されました。");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println(n + "番の整数は存在しません。");
}
catch (IOException e) {
System.out.println("入力時に例外が発生しました。");
}
finally {
System.out.println("プログラムを終了します。");
}
}
}