キーボードから割られる数と割る数を読み込んで、割り算の商と余りを表示するプログラム

キーボードから割られる数と割る数を読み込んで、割り算の商と余りを表示するプログラム

練習問題5

キーボードから割られる数と割る数を読み込んで、割り算の商と余りを表示するプログラムを作成する。

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

 

0で割ろうとした場合(ArithmeticExceptionが発生した場合)は「計算の途中で例外が発生しました。」、

 

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

 

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

 

実行画面

割られる数を入力して下さい > 31【enterキー】

割る数を入力して下さい > 7【enterキー】
31を7で割った商は4, 余りは3です。
プログラムを終了します。

割られる数を入力して下さい > 17.5【enterキー】

整数以外が入力されました。
プログラムを終了します。

割られる数を入力して下さい > 3【enterキー】

割る数を入力して下さい > 0【enterキー】
計算の途中で例外が発生しました。
プログラムを終了します。

解答例

import java.io.*;

public class ren14_5{
public static void main(String[] args) {
int a, b;
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
try {
System.out.print("割られる数を入力して下さい > ");
a = Integer.parseInt(br.readLine());
System.out.print("割る数を入力して下さい > ");
b = Integer.parseInt(br.readLine());
System.out.print(a + "を" + b + "で割った商は" + a/b + ", ");
System.out.println("余りは" + a%b + "です。");
}
catch (NumberFormatException e) {
System.out.println("整数以外が入力されました。");
}

catch (ArithmeticException e) {
System.out.println("計算の途中で例外が発生しました。");
}
catch (IOException e) {
System.out.println("入力時に例外が発生しました。");
}
finally {
System.out.println("プログラムを終了します。");
}
}
}