T1.指定範囲の数値の計算
問題1.
コマンドラインで指定された二つの正の整数で指定される範囲の整数の合計と平均を計算し出力するプログラムを作成してください。
【仕様】
1. コマンドラインから、二つの数値をそれぞれ指定して実行します。とりあえず、ここで入力される数値は、必ず正の整数が入力されるものとします。
2. 先に入力された整数が、あとから入力された整数よりも大きい場合には順序を入れ替えて処理をします。
3. 平均は、小数点以下も表示します。
4. 引数の数が二つでない場合はエラーとしてメッセージを表示し、プログラムを終了します。
5. 引数に数値以外を指定した場合はエラーとしてメッセージを表示し、プログラムを終了します。
【クラス図】
--------------------------------------
クラス名
SumAve
--------------------------------------
フィールド定義
-num1,num2,sum,count:int
-ave:double
--------------------------------------
メソッド定義
+SumAve(num1:int,num2:int):
+paramCheck():void
+calc():void
+getSum():int
+getAve():double
--------------------------------------
#:protected
-:private
+:public
【実行クラス】
【実行例】
>java SumAveMain 1 10
1から10までの合計は55です
1から10までの平均は5.5です
>java SumAveMain 10 1
10から1までの合計は55です
10から1までの平均は5.5です
>java SumAveMain 10 a
整数を指定してください
>java SumAveMain 10
正の整数を二つ指定してください
問題2.
上記1.の仕様を以下のように変更してください。
1. コマンドラインから、二つの数値をそれぞれ指定して実行します。ここで入力された数値が負の場合は、ParamMinusExceptionを発生させるものとします。
【ヒント】
Exceptionクラスを継承したParamMinusExceptionクラスを作成し、SumAveクラスのparamCheck()メソッド内で実体化して送出します。
【実行結果】
>java SumAveMain 1 -20
[-20]ParamMinusException::正の整数を指定してください
>java SumAveMain 1 w
java.lang.NumberFormatException: For input string: "w"::整数を指定してください
>java SumAveMain -20 1
[-20]ParamMinusException::正の整数を指定してください