すべて 指定のパッケージ内に作成してください

ソースコード(クラス名.java)をSドライブにアップロードして提出してください

S:\Java\課題提出\基礎\17章


問題1 可変長引数

chapter17.kadai1パッケージに以下のクラスを作成しましょう。


class CalcMain {

    public static void main(String[] args) {
        int s1 = Calc.sum();
        int s2 = Calc.sum(100, 20);
        int s3 = Calc.sum(2, 3, 5, 7, 11, 13, 17, 19);

        System.out.println("s1:" + s1);
        System.out.println("s2:" + s2);
        System.out.println("s3:" + s3);
    }
}
            

上記のmainから呼び出されるCalcクラスを、chapter17.kadai1パッケージに作成してください。

ただし、sumメソッドはオーバーロードせず、可変長引数を使用する形式で作成してください。

sumメソッドの戻り値は、引数の値の合計値です。


実行結果

s1:0

s2:120

s3:77

問題2 10進数・8進数・16進数表示

入力されたn進数の数値を10進数・8進数・16進数に変換して表示するプログラムを作成します。

chapter17.kadai2パッケージにNumFormatクラスを作成し、実行例のように動作するようにmainメソッドの処理を記述してください。


必ず実装する処理


実行結果例 その1(緑字はコンソールからの入力値)

16進数の「FF」を10進数・8進数・16進数で表示

入力する数値は何進数ですか?(10進数→10と入力)

16

16進数の数値を入力してください

FF ※16進数としてint型で読み込む

10進数: 255

 8進数:0377

16進数:0xff


実行結果例 その2(緑字はコンソールからの入力値)

2進数の「01010101」を10進数・8進数・16進数で表示

途中で入力ミスがあった場合は、再入力させる

入力する数値は何進数ですか?(10進数→10と入力)

a ※int型で受け取り可能な値でなければ再入力させる

整数を入力してください

入力する数値は何進数ですか?(10進数→10と入力)

2

2進数の数値を入力してください

12345 ※この例の場合、2進数なので0~1を超える値は桁の数値として使えない

数値の書式が不正です

2進数の数値を入力してください

01010101

10進数:  85

 8進数:0125

16進数:0x55