有问题的方法如下。这个方法应该接受一个字符串并使用 bag adt 返回一个项目的频率。我让它工作,但是如果我(例如)输入“测试”,它将显示输出 T、S 和 T 及其各自的(尽管是正确的)频率。但是,我希望输出只是 T,S 和它们的频率。
public int getFrequency(String str){
int index=0;
char[] nArray = new char[sArray.length];
for(int i=0;i<sArray.length; i++){
char a = sArray[i];
String s = Character.toString(a);
index = consonants.getFrequencyOf(s);
if(index != 0 && consonants.contains(s)==true){
for(int x=0;x<nArray.length;x++){
if(nArray[i] == sArray[x]){
continue;
}
else{
System.out.print(s + ": ");
System.out.println(index);
nArray[i] = sArray[i];
break;
}
}
}
}
return index;
}