Java教程

Java查找字符的频率

在该程序中,我们需要查找单词中每个字符的频率。
图片完美
要完成此任务,我们将维护一个名为freq的数组,该数组的大小与字符串的长度相同。频率将用于维护字符串中每个字符的计数。现在,遍历字符串以将每个字符与字符串的其余部分进行比较。以频率为单位递增相应元素的计数。最后,遍历频率以显示字符的频率。
例如: 上述字符串中p的频率为2。

算法

步骤1: START 步骤2: DEFINE String str = "picture perfect" 步骤3: 初始化具有相同大小的streq[]。 步骤4: 定义i,j 步骤5: 将str转换为char[]字符。 步骤6: SET i = 0。重复步骤7至11 步骤7: 设置freq[i] = 1 步骤8: SET j = i + 1。直到j将步骤9重复到步骤10 步骤9: 如果是IF(string[i] ==string[j]),则
freq[i]++
string[j] = 0
步骤10: j = j + 1 步骤11: i = i + 1 步骤12: 打印"Characters and their corresponding frequencies" 步骤13: SET i = 0。直到i重复步骤14至步骤15 步骤14: IF(string [i]!=''&& string [i]!='0')然后是
PRINT string [i],freq [i]
步骤15: i = i + 1 STEP 16: END

程序:

public class FrequencyCharacter
{
    public static void main(String[] args) {
        String str = "picture perfect";
        int[] freq = new int[str.length()];
        int i, j;
        // Converts given string into character array
        char string[] = str.toCharArray();
        for(i = 0; i <str.length(); i++) {
            freq[i] = 1;
            for(j = i+1; j <str.length(); j++) {
                if(string[i] == string[j]) {
                    freq[i]++;
                    //Set string[j] to 0 to avoid printing visited character
                    string[j] = '0';
                }
            }
        }
        //Displays the each character and their corresponding frequency
        System.out.println("Characters and their corresponding frequencies");
        for(i = 0; i <freq.length; i++) {
            if(string[i] != ' ' && string[i] != '0')
                System.out.println(string[i] + "-" + freq[i]);
        }
    }
}
输出:
Characters and their corresponding frequencies
p-2
i-1
c-2
t-2
u-1
r-2
e-3
f-1
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4