Java 符号频率、最高频率、符号数

Java 符号频率、最高频率、符号数,java,ascii,frequency,sign,Java,Ascii,Frequency,Sign,爪哇。将字符串转换为等效的ASCII码,并: public class Loop { public static void main (String[] args) { BralecPodatkov bp = new BralecPodatkov(); // allows me to write string System.out.println("Type string: "); String niz = bp.beriNiz()

爪哇。将字符串转换为等效的ASCII码,并:

public class Loop {
    public static void main (String[] args) {
        BralecPodatkov bp = new BralecPodatkov();     // allows me to write string
        System.out.println("Type string: ");
        String niz = bp.beriNiz();                    // reads my string
        int[] frequencies = new int [128];     // all 128 ASCII signs
        int total = 0;

        System.out.println("N of signs: " + niz.length());     // sum of all signs

        for (int i = 0; i < niz.length(); i++) {
            int ascii = (int) niz.charAt(i);
                frequencies[ascii]++;
                total += 1;
        }

        for (int i = 0; i < frequencies.length; i++) {
            if (frequencies[i] > 0)
                System.out.print(" " + (((float) frequencies[i]/total)*100) + "%");
          else
                System.out.print(" 0%");     // prints all sign frequencies in %
        }               

        int max = frequencies[0];
        for (int i = 0; i < niz.length(); i++) {
            if (frequencies[i] > max) {
                max = frequencies[i];     // print sign with highest frequency
            }
        }
    System.out.println("\n" + "Max number: " + max);     
    }
}
读取字符串并打印的代码:所有符号的总和、每个符号的频率(单位%)以及频率最高的符号。 问题:
1) 如何在每个频率前添加适当的符号?(例如1=25%,2=25%,…)
2) 我的最大号码频率代码不起作用,它总是打印出0。我做错了什么?
3) 如何计算字符串的唯一符号数


此外,如果您发现任何错误、复杂情况或有任何意见,请务必告诉我。

1-以前已回答过

for(int i=0;i0)
2-最大计数有一个输入错误:

    int max = frequencies[0];
    for (int i = 0; i < niz.length(); i++) {
int max=频率[0];
对于(int i=0;i
使用
frequencies.length
而不是niz.length()


3-不确定你在问什么。输入字符串中的唯一字符?看看max循环中的
frequencies[i]>0
是否有效。

1-因此我阅读了链接,并且…要么我没有找到答案,要么答案太复杂。你能详细说明一下吗?2-似乎不起作用,它打印出随机的小数字
for (int i = 0; i < frequencies.length; i++) {
        System.out.print( Character.toChars(i) );
        System.out.print( " = ");
        if (frequencies[i] > 0)
    int max = frequencies[0];
    for (int i = 0; i < niz.length(); i++) {