Javaプログラムで整数の各桁の合計と各桁の出現回数を計算する方法


方法1: 文字列と数値の変換を使用する方法 この方法では、まず与えられた整数を文字列に変換し、その後文字列の各文字を数値に変換して合計を計算します。また、各桁の出現回数をカウントするためにマップを使用します。

import java.util.HashMap;
import java.util.Map;
public class DigitSumCalculator {
    public static void main(String[] args) {
        int number = 1234567; // 計算する整数
        // 整数を文字列に変換
        String numberString = String.valueOf(number);
        // 各桁の合計を計算
        int sum = 0;
        for (int i = 0; i < numberString.length(); i++) {
            int digit = Character.getNumericValue(numberString.charAt(i));
            sum += digit;
        }
// 各桁の出現回数を計算
        Map<Integer, Integer> digitCountMap = new HashMap<>();
        for (int i = 0; i < numberString.length(); i++) {
            int digit = Character.getNumericValue(numberString.charAt(i));
            digitCountMap.put(digit, digitCountMap.getOrDefault(digit, 0) + 1);
        }
// 結果を出力
        System.out.println("各桁の合計: " + sum);
        System.out.println("各桁の出現回数: " + digitCountMap);
    }
}

方法2: 剰余演算と整数の除算を使用する方法 この方法では、与えられた整数を10で割り、剰余演算を使用して各桁の値を取得します。その後、割り算を繰り返して各桁の合計を計算します。各桁の出現回数をカウントするために配列を使用します。

public class DigitSumCalculator {
    public static void main(String[] args) {
        int number = 1234567; // 計算する整数
        // 各桁の合計を計算
        int sum = 0;
        int tempNumber = number;
        while (tempNumber > 0) {
            int digit = tempNumber % 10;
            sum += digit;
            tempNumber /= 10;
        }
// 各桁の出現回数を計算
        int[] digitCountArray = new int[10];
        tempNumber = number;
        while (tempNumber > 0) {
            int digit = tempNumber % 10;
            digitCountArray[digit]++;
            tempNumber /= 10;
        }
// 結果を出力
        System.out.println("各桁の合計: " + sum);
        System.out.print("各桁の出現回数: ");
        for (int i = 0; i < 10; i++) {
            System.out.print(i + ": " + digitCountArray[i] + ", ");
        }
    }
}

以上のコード例を使用することで、Javaプログラムで与えられた整数の各桁の合計と各桁の出現回数を計算することができます。この方法を応用して、さまざまな数値操作や統計情報の計算を行うことも可能です。