import java.util.Scanner;
public class Main{
public static void main(String []args){
Scanner sc = new Scanner(System.in);
int []alphabet = new int [26];
while(sc.hasNextLine()){
String s = sc.nextLine();
for(char c : s.toCharArray()){
if(c >= 'a' && c <= 'z'){
alphabet[c - 'a'] += 1;
}
}
}
for(int i = 0; i < alphabet.length; i++){
if(alphabet[i] > 0){
System.out.println((char)('a' + i) + ":" +alphabet[i]);
}
}
}
}
这题创建一个26大小的数组,分别对应26个英文字母,使用
for (char c : line.toCharArray()) {
是一个 增强型 for 循环(也称为 "for-each" 循环),来遍历输入的字符串,再用if来判断是否为小写,再利用ASCLL码值使其对应的数组加1,最后输出即可。