如何在 java 中创建 unigram?每个 'char' 有 'int' 来计算 txt 文件中有多少 'char'
How to create unigram in java ? each 'char' have 'int' to count how many 'char' in txt file
我无法读取文本文件的 char
部分并使每个 char
的值等于文件中 char
的编号。
例如:
i'm eating
应该是:
i = 2
m = 1
e = 1
a = 1
t = 1
n = 1
g = 1
谁能帮帮我?
Java char类型是一个16位整数(https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html),所以一个比较小的数组就可以存储计数器:
int statistics[]=new int[65536];
int onechar;
while(-1!=(onechar=br.read())){
statistics[onechar]++;
}
for(int i=' ';i<statistics.length;i++){
if(statistics[i]>0){
System.out.println(String.format("%c: %d",i,statistics[i]));
}
}
其中 br
是 BufferedReader
我无法读取文本文件的 char
部分并使每个 char
的值等于文件中 char
的编号。
例如:
i'm eating
应该是:
i = 2
m = 1
e = 1
a = 1
t = 1
n = 1
g = 1
谁能帮帮我?
Java char类型是一个16位整数(https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html),所以一个比较小的数组就可以存储计数器:
int statistics[]=new int[65536];
int onechar;
while(-1!=(onechar=br.read())){
statistics[onechar]++;
}
for(int i=' ';i<statistics.length;i++){
if(statistics[i]>0){
System.out.println(String.format("%c: %d",i,statistics[i]));
}
}
其中 br
是 BufferedReader