Javaで文字の出現頻度をカウントする方法


方法1: ループを使用して文字の出現頻度をカウントする方法

public class CharacterFrequency {
    public static void main(String[] args) {
        String input = "your_input_string";
        int[] frequency = new int[256]; // ASCII文字の範囲でカウントする場合
        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            frequency[ch]++;
        }
        for (int i = 0; i < frequency.length; i++) {
            if (frequency[i] > 0) {
                System.out.println("Character '" + (char) i + "' appears " + frequency[i] + " times.");
            }
        }
    }
}

方法2: HashMapを使用して文字の出現頻度をカウントする方法

import java.util.HashMap;
import java.util.Map;
public class CharacterFrequency {
    public static void main(String[] args) {
        String input = "your_input_string";
        Map<Character, Integer> frequencyMap = new HashMap<>();
        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            frequencyMap.put(ch, frequencyMap.getOrDefault(ch, 0) + 1);
        }
        for (Map.Entry<Character, Integer> entry : frequencyMap.entrySet()) {
            System.out.println("Character '" + entry.getKey() + "' appears " + entry.getValue() + " times.");
        }
    }
}

どちらの方法も、与えられた文字列内の各文字の出現回数を正確にカウントします。最初の方法では、文字のASCII値に対応するインデックスを使用して配列に出現頻度を格納します。2つ目の方法では、HashMapを使用して文字と出現頻度のペアを格納します。

これらのコード例を使用すると、与えられた文字列の文字の出現頻度を容易にカウントできます。ご参考までに、上記のコード例の"your_input_string"の部分を実際の文字列に置き換えてお試しください。