013 クラスライブラリ(数値を扱うクラス) 006 解答例

public class DigitCountExample {
    public static void main(String[] args) {
        // 与えられた整数
        int number = 123456789;

        // 桁数をカウント
        int digitCount = countDigits(number);

        // 結果を表示
        System.out.println("与えられた整数: " + number);
        System.out.println("桁数: " + digitCount);
    }

    // 整数の桁数をカウントするメソッド
    private static int countDigits(int number) {
        // 整数を文字列に変換
        String numberStr = Integer.toString(number);

        // 文字列の長さ(桁数)を返す
        return numberStr.length();
    }
}

このプログラムでは、countDigits メソッドが整数を文字列に変換し、その文字列の長さを返しています。main メソッドで特定の整数を指定し、結果を表示しています。このプログラムを実行すると、与えられた整数の桁数が表示されます。

ラッパークラス


Javaのラッパークラスは、基本データ型をオブジェクトとして扱うためのクラスです。基本データ型(intdoublechar など)はプリミティブな型であり、オブジェクトではないため、一部の場面でオブジェクトが必要なケースや、ジェネリクスなどの機能を使用する際にはラッパークラスが利用されます。

以下に、主なラッパークラスとそれぞれの基本データ型との対応を示します:

  1. Integer (int):
    • int のラッパークラス。整数を扱うためのメソッドや機能が提供されています。
  2. Long (long):
    • long のラッパークラス。64ビット整数を扱います。
  3. Float (float):
    • float のラッパークラス。32ビット浮動小数点数を扱います。
  4. Double (double):
    • double のラッパークラス。64ビット浮動小数点数を扱います。
  5. Character (char):
    • char のラッパークラス。文字を扱います。
  6. Boolean (boolean):
    • boolean のラッパークラス。真偽値を扱います。

これらのラッパークラスはそれぞれ IntegerLongFloatDoubleCharacterBoolean という名前で提供されています。これにより、プリミティブ型をオブジェクトとして扱えるようになり、例えばジェネリクスやコレクションフレームワークなどで利用できます。

ラッパークラスは不変(immutable)であるため、一度値が設定されると変更できません。値を変更したい場合は新しいラッパークラスのインスタンスを作成する必要があります。例えば、Integer クラスの valueOf メソッドを使って新しいインスタンスを作成することができます。

Integer num = Integer.valueOf(42); // 新しい Integer インスタンスの作成

これらのラッパークラスは autoboxing(プリミティブ型からラッパークラスへの自動変換)および unboxing(逆の変換)の機能も提供しており、これによりプリミティブ型とラッパークラスを相互に変換する際の記述が簡略化されます。

「013 クラスライブラリ」問題集リスト