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

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

show me your code please

这是我的代码:

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);
        }
    }
        }

你这问题好像 我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楼的代码,可以解决