public static void main(String[] args) {
TextIO.putln("Text?");
String line = TextIO.getln();
line = line.toLowerCase();
char[] arr = line.toCharArray();
for(int i = 0; i < line.length(); i++){
if(Character.isLetter(arr[i])){
int count;
int j;
for(j = 0,count = 0; j < line.length(); j++){;
if(arr[i] == arr[j]){
count++;
}
}
System.out.printf("%c:%d\n", arr[i],count);
}
}
}
私は、文字列のジョシュを入力した場合、それは J出力し:私が入力した場合は1 :1 O:1 秒:1 時間1 O:1 秒:1 時間:2 時間:joshhそれは J印刷し2 を私は Jたい:1 O:1 秒:1 時間:2カウント手紙周波数と印刷文字:Java文字列で重複カウントではなく
私はどのように重複している文字列については、一意の文字のみを出力し、何回出現したのか?私はたぶん各文字をチェックし、( 'a':文字列)の のようなforループを実装することを考えていた 合計++ そして 'a'を1だけインクリメントするので、 bの出現、cの出現などがあります。
すでに印刷された文字をListに追加し、List.contains(char)を使用して各後続の文字がリストにあるかどうかを確認できます。 Listにcharが含まれている場合は、カウントをスキップして次のcharに移動します。 – HomeIsWhereThePcIs