新手,求助大神快快现身!

给定一个字符串“today is a special day”,长度任意,要求找出其出现次数最多的字符及计算次数。老师说让自己看帮助文档,charactor,表示看不懂图片说明

7个回答

思路:
1、将当前的字符串转换为字符数组;
2、创建一个HashMap,key为每一个字符,value为字符出现的字数;
3、遍历当前的数组,将数组中每一个不重复的字符作为HashMap对象中的key,判断当前的HashMap对象中是否存在当前的key
1)若存在,取出对应的value,将value值加1后,再保存到对应的key上;
2)若不存在,则将当前的key值对应的value赋值为1;
4、遍历统计结束的HashMap对象,取出所有key中value最大的对象即可;

代码如下:

public static void main(String[] args) {
String string = "Thinking in Java";
char[] ch = string.toCharArray();
Map result = new HashMap();
for (int i = 0; i < ch.length; i++) {
if (result.containsKey(ch[i])) {
int count = result.get(ch[i]) + 1;
result.put(ch[i], count);
} else {
result.put(ch[i], 1);
}
}
Character maxChar = null;
Integer maxCount = 0;
for (Entry entry : result.entrySet()) {
if (entry.getValue() > maxCount) {
maxChar = entry.getKey();
maxCount = entry.getValue();
}
}

    System.out.println("字符: " + maxChar + " 出现的字数最多,为 "  + maxCount + " 次");
}

希望对你有帮助!

这个简答呀。只要字符吗?a b c这样的字符。

你就用个类extends HashMap
class A {
private HashMap map = new HashMap();
public void put() {
// 在这里面,去判断map中是否有出现的字符,如果第一次出现,则放进去,次数为1
// 如果已经出现了,则把次数取出来,然后+1再放进去
}
}

然后写个main函数,去读取你的字符串,一个个字符丢进你的类里面去做判断和运算。这样你可以得到所有的字符及出现次数,排个序取最高的就可以了。

创建字典Dictionary<字符,出现次数>,遍历字符串,若字典未加入遍历的字符,增加入<字符,1>,否则<字符,n++>,最后找出字典了最大的N即可

这个直接用hashmap,需要写这么多行代码么?
char【256】,char[string[i]-'0'],类似这种打点法

String str = "slfjslfjsf";
Map resultMap = new HashMap();
for(int i=0;i Character a = str.charAt(i);
Integer count = resultMap.get(a);
count=count==null?1:++count;
resultMap.put(a,count);
int most =0;Character ch = null;
for(Character s : resultMap.keySet()){
if(resultMap.get(s) > most){
most = resultMap.get(s);
ch=s;
}
}
System.out.println("字符串中出现次数最多的是:"+ch+" 出现次数:"+most);
}

List<String> key = new ArrayList<>();
        List<Integer> value = new ArrayList<>();
        String s = "asdsdasssdss";
        for (int i = 'A'; i <= 'z'; i++) {
            if(s.contains(String.valueOf(((char)i)))){
                int count = 0;
                while (true) {
                    if (s.contains(String.valueOf(((char)i)))) {
                        count++;
                        s = s.replaceFirst(String.valueOf(((char)i)), "");
                    } else {
                        break;
                    }
                }
                if(count != 0){
                    key.add(String.valueOf((char)i));
                    value.add(count);
                }
            }


        }
        int temp  = 0;
        int location =0 ;
        if(key.size()>0){
            temp = value.get(0);
        }

        for(int i = 0;i<value.size();i++){
            if(temp<value.get(i)){
                temp = value.get(i);
                location = i;
            }
        }
        if(key.size()>0){
            System.out.println(key.get(location)+","+value.get(location));  
        } 
 Map<String, Integer> gpp=new HashMap<>();
        for(int i=0;i<a.length;i++){
            if(gpp.get(a[i])==null)
            {
                gpp.put(a[i], 1);
            }
            else gpp.put(a[i], gpp.get(a[i])+1);
        }
        System.out.println(gpp);
    }
}
sinat_34231260
pong-jack 这是字符串类型的,可以把String,变成Character
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐