Java 计算并打印文本文件中每个字母的出现次数

Java 计算并打印文本文件中每个字母的出现次数,java,arrays,for-loop,Java,Arrays,For Loop,我需要打印每个字母在文本文件中出现的总次数。关于如何循环这个问题有什么想法吗?我已经记下了基本知识。不确定我是否正确使用了数组。还有,我该怎么打印呢 示例文本文件: 你好,我叫扎卡里。我靠给别人照x光片为生 期望输出: 字母-文件中的频率: a-7 b-0 c-1 d-1 e-4 f-1 g-2 h-3 i-6 j-0 k-1 l-4 m-2 n-3 o-4 p-2 q-0 r-2 s-3 t-2 u-0 v-1 w-1 x-1 y-3 z-1 实际上,它与存储时正好相反 for (int i

我需要打印每个字母在文本文件中出现的总次数。关于如何循环这个问题有什么想法吗?我已经记下了基本知识。不确定我是否正确使用了数组。还有,我该怎么打印呢

示例文本文件:

你好,我叫扎卡里。我靠给别人照x光片为生

期望输出:

字母-文件中的频率:

a-7

b-0

c-1

d-1

e-4

f-1

g-2

h-3

i-6

j-0

k-1

l-4

m-2

n-3

o-4

p-2

q-0

r-2

s-3

t-2

u-0

v-1

w-1

x-1

y-3

z-1


实际上,它与存储时正好相反

for (int i = 0; i < myArray.length; i++) {
        System.out.printf("%c has %d%n", i + 'a', myArray[i]);
}
此代码应该是要替换的

for (int i=0; i<line.length(); i++) {
    myArray[line.charAt(i) - 'a']++; 
}

所以我把你的第二段代码嵌入了第一段。这是正确的吗,因为我没有得到正确的计算?我讨厌成为一个讨厌的人,但是你介意给我看一下整个文件的样子吗,因为我认为我输入了你的建议,因为我没有得到正确的输出。OMG。我只是把它们翻过来。非常感谢。对不起,谢谢!
if (Character.isAlphabetic(line.charAt(i))) {
      myArray[line.charAt(i) - 'a']++;
}
for (int i=0; i<line.length(); i++) {
    myArray[line.charAt(i) - 'a']++; 
}