降順に並べる方法
0
エラーメッセージあるように、入力された空文字列 ""
は数値に変換できないため Integer.parseInt()
が例外 NumberFormatException
をスローしています。 try-catch でこの例外を処理してください。
キーボード入力された5つの整数を降順に整列した後に、出力して終了するプログラム
整数が5個未満のため、例外が起きていると思われます。
整数を5つ、5行に分けて入力すれば正しく動作します。
ソースコードを以下のように修正することで、入力エラーが起きた際に再入力を促すことができます。お試しください。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Sort {
public static void main(String[] args) throws Exception {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] number = new int[5];
for (int i = 0; i < number.length; i++) {
try {
System.out.print("" + (i + 1) + "番目の整数: ");
number[i] = Integer.parseInt(reader.readLine());
} catch (Exception ignored) {
System.out.println("" + (i + 1) + "番目の入力に誤りがあります");
i--;
}
}
Arrays.sort(number);
for(int Max: number) {
System.out.println(Max);
}
} catch (Exception e) {
System.out.println(e);
}
}
}