`

计算出出现次数最多的字母和该字母出现的次数

阅读更多

方法一:

package testString;

import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.junit.Test;

public class MyTest
{
    /**
     * 给你一个字符串,包含了空格等标点符号,要你计算出出现次数最多的字母和该字母出现的次数。
     */
    @Test
    public void test()
    {
        String s = "123432341212,&asdaghjsa  1234352wko我第三方";
       
        Set<MyChar> set = new HashSet<MyChar>();
        for (int i = 0; i < s.length(); i++)
        {
            MyChar myChar = new MyChar(s.charAt(i), 1);
            boolean b = set.add(myChar);
            if (!b)
            {
                add(set, myChar);
            }
        }
        List<MyChar> list = new LinkedList<MyChar>();
        list.addAll(set);
        set = null;
       
        /** 取最大值 */
        MyChar big = Collections.max(list);
       
        System.out.println("出现次数最多的字母: " + big.getName() + " 该字母出现的次数" + big.getCount());
    }
   
    /** 当已经存在时,把数字加1 */
    public void add(Set<MyChar> set, MyChar myChar)
    {
        for (MyChar my : set)
        {
            if (my.equals(myChar))
            {
                my.setCount(my.getCount() + 1);
            }
            break;
        }
    }
   
    /** 实现相等的判断和可比较的判断 */
    public class MyChar implements Comparable<MyChar>
    {
        private Character name;
       
        private int count;
       
        public MyChar(Character name, int count)
        {
            super();
            this.name = name;
            this.count = count;
        }
       
        public Character getName()
        {
            return name;
        }
       
        public void setName(Character name)
        {
            this.name = name;
        }
       
        public int getCount()
        {
            return count;
        }
       
        public void setCount(int count)
        {
            this.count = count;
        }
       
        @Override
        public int compareTo(MyChar o)
        {
            return this.count == o.count ? 0 : this.count > o.count ? 1 : -1;
        }
       
        @Override
        public boolean equals(Object obj)
        {
            if (obj instanceof MyChar && this.name != null && this.name.equals(((MyChar)obj).name))
            {
                return true;
            }
            return false;
        }
       
        @Override
        public String toString()
        {
            // TODO Auto-generated method stub
            return "字母名字 : " + this.name + " 出现次数: " + this.count;
        }
       
        @Override
        public int hashCode()
        {
            // TODO Auto-generated method stub
            return name.hashCode();
        }
       
    }
}
 
分享到:
评论

相关推荐

    一个字符串包含了空个等标点符号,计算出现次数最多的字母和该字母出现次数 开发提示:可以使用Map,key是字母,value是该字母的次数

    一个字符串包含了空个等标点符号,计算出现次数最多的字母和该字母出现次数 开发提示:可以使用Map,key是字母,value是该字母的次数

    java计算给定字符串中出现次数最多的字母和该字母出现次数的方法

    这两种方法都可以有效地找出字符串中出现次数最多的字母和其出现次数。在实际开发中,可以根据具体情况选择更合适的方法。例如,如果字符串很长,使用`TreeMap`可能会有更高的效率,因为它提供了O(log n)的时间...

    Python实现计算字符串中出现次数最多的字符示例

    在Python编程语言中,处理字符串是一项...总之,了解和掌握如何在Python中处理字符串,尤其是找出出现次数最多的字符,对于日常的编程工作至关重要。通过不断地练习和实践,你可以更加熟练地运用这些技巧来解决问题。

    Java统计英文句子中出现次数最多的单词并计算出现次数的方法

    在主函数中,程序使用Scanner类从标准输入读取用户输入的英文句子,并调用上述定义的方法,最终打印出出现次数最多的单词和出现次数。如果需要对多个句子进行统计,可以将句子数组作为参数传递给相关方法,然后对数...

    JavaScript实现计算字符串中出现次数最多的字符和出现的次数

    本知识点主要关注如何利用JavaScript编程语言实现对字符串中出现次数最多的字符及其出现次数的计算。 1. 字符串基础概念:在JavaScript中,字符串是由16位无符号整数(UTF-16)序列构成的数据类型,可以表示文本...

    用JS得到字符串中出现次数最多的字母

    在JavaScript中,获取字符串中出现次数最多的字母是一个常见的编程问题,它可以用来练习字符串处理和循环迭代。本例中,我们有一个字符串`String = "adadfdfseffserfefsefseetsdg"`,目标是找到这个字符串中最常出现...

    C#计算文本出现最多的字符

    // 找出出现次数最多的字符 char maxChar = '\0'; int maxCount = 0; foreach (var kvp in charCount) { if (kvp.Value &gt; maxCount) { maxCount = kvp.Value; maxChar = kvp.Key; } } Console....

    最常见单词(出现次数最多的单词)1

    - 标点符号移除:为了正确计算单词出现次数,需要将标点符号替换为空格或删除。在`initPara()`函数中,使用条件判断将特定的标点符号替换为空格。 2. 哈希映射与数据结构: - 结构体数组:`Word`结构体用于存储...

    c语言(统计字母次数)

    1. **初始化变量**:首先定义了一个字符数组 `s[255]` 用于接收输入的字符串,并定义了一个整型数组 `count[3]` 来记录字母 `'a'`、`'b'` 和 `'c'` 的出现次数。 2. **读取输入**:通过 `gets(s);` 函数读取用户输入...

    5统计某个字符串中大小写字母A或a出现的次数java

    标签"统计"、"字符串"、"字母"、"出现的次数"表明这是关于字符串处理和字符计数的编程问题。通过学习这个例子,你可以了解到Java中的字符串操作、字符遍历以及条件判断等基础知识。 总结一下,统计字符串中特定字符...

    统计一篇txt文档(英文)中各英文字母出现的次数及概率

    - **总计数**:统计所有大写和小写字母出现的总次数。 - **概率计算**:将每个字母的计数除以总计数得到概率。 示例中的代码通过 `PrintResult` 函数实现了概率计算,并输出结果到文件。 ### 5. 输出格式控制 - **...

    统计字母出现次数.zip(C语言练习例程)

    在本实践项目中,我们关注的是使用C语言编写一个程序,该程序能够统计文本中字母出现的次数。这个练习旨在帮助学习者加深对C语言的理解,掌握字符串处理、字符遍历以及基本的计数算法。下面我们将详细探讨相关知识点...

    统计字符串中每个字符出现次数并排序工具

    描述中提到的“统计一段字符中出现次数最多的字”,这是该工具的核心功能。它能够帮助用户找出文本中最常出现的字符,这对于检测重复错误、识别关键词或者理解文本特征都是很有帮助的。例如,在中文文本中,如果一个...

    Storm 本地运行 统计字母出现次数

    标题中的“Storm 本地运行 统计字母出现次数”指的是使用Apache Storm分布式流处理系统,在本地环境中进行测试,实现一个简单的应用,该应用的任务是统计输入数据中各个字母出现的频率。Apache Storm是一个实时计算...

    编写一个程序统计文本文件英文字母个数,不区分大小写,屏幕输出每个字母出现的次数。

    编写一个程序统计文本文件英文字母个数,不区分大小写,屏幕输出每个字母出现的次数。 参考:文件操作函数,fopen, fclose, fread, fgetc;使用MSDN查找相关帮助; 要求:代码的编写、变量定义等应以《Coding ...

    海量数据处理面试题.pdf

    而在集群处理方面,则更多地关注于节点之间的数据交互和分布式处理、并行计算等问题。例如,Hadoop和MapReduce就是应对海量数据处理的分布式计算框架。 面试中,通常会要求面试者对这些算法和数据结构有深入的理解...

    字符串统计字母出现的频率

    5. **输出结果**:遍历完成后,逐个打印出每个字母及其出现的次数。可以按照字母顺序排列,提供更清晰的可视化效果。 在实际的代码实现中,我们还需要考虑错误处理,比如检查输入是否为空,以及内存分配等细节。...

    计算机二级c语言资料-计算机二级c语言编程练习题之统计字母出现的次数.zip

    本资料包聚焦于C语言编程练习题,特别是关于统计字母出现次数的题目,这是C语言中常见的字符串处理问题,涉及到字符数组、循环结构、条件判断等基础知识。 在C语言中,统计字母出现的次数通常需要用到以下几个核心...

    JS查找英文文章中出现频率最高的单词

    7. 最后,使用console.log()输出出现次数最多的单词以及该单词的出现次数。 需要注意的是,本示例代码未对标点符号进行处理,如果文章包含标点符号,可能会影响最终的结果。在实践中,可以通过扩展正则表达式来忽略...

    蓝桥测试,单词分析,python

    3. 找到出现次数最多的字母,并输出该字母和其出现次数。 Python 实现 下面是使用 Python 语言实现的解决方案: ```python a = input().strip() b = sorted(list(set(a))) c = [0 for i in range(len(b))] for i ...

Global site tag (gtag.js) - Google Analytics