高分悬赏提问,Java语言程序来编写,怎么统计输入的字符串中每个字符出现的频率百分比? 5C

高分悬赏提问,Java语言程序来编写,怎么统计输入的字符串中每个字符出现的频率百分比?

show me your code please

3个回答

这是我的代码:

package apa;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Test1
{
public static void main(String[] args) throws IOException
    {
        BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
        String str=bufr.readLine();

        HashMap<Character,Integer> map = new HashMap<Character,Integer>();
        int len = str.length();

        for(int i = 0;i<len; i++)
        {
            Character c = str.charAt(i);

            if(map.containsKey(c))
            {
                map.put(c, 1+map.get(c));
            }
            else
            {
                map.put(c, 1);
            }
        }

        for(Map.Entry<Character,Integer> entry:map.entrySet())
        {
            char c = entry.getKey();
            int i = entry.getValue();
            System.out.println(c+": "+(double)i/len);
        }
    }
        }

qq_39994547
天涯剑客q 回复菜鸡开发狗: 是的
4 个月之前 回复
hezongze12
菜鸡开发狗 相当easy
4 个月之前 回复

你这问题好像 我java老师布置的课后作业 哈哈哈

package com.tedu.test;
import java.util.HashMap;
import java.util.Scanner;
public class Dome {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请录入一个字符串:");

String str = sc.nextLine();

//创建一个Map集合:键是字符,值是个数

HashMap map=new HashMap<>();

//遍历字符串

for (int i = 0; i < str.length(); i++) {

char ch = str.charAt(i);

//判断map集合中是否包含指定的键(字符)

if(!map.containsKey(ch)){

map.put(ch, 1); //如果不包含指定的字符,就是第一次添加,值是1

}else{
Integer value = map.get(ch);
map.put(ch, value+1);
}
}

System.out.println(map);

}
}

这是我的作业

主要是思路对就可以:
(1)首先得到字符串长度以及字符串中包含的字符类别;
(2)遍历字符串,同个每个类别的字符出现的次数。
1,2楼的代码,可以解决

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐