天天看点

1145: 统计字母个数

题目

Description

给定一段文章,请输出每个字母出现的次数

Input

只有一组输入数据,该数据大小<10KB。在文章中除最后一个字符外,只有小写字母、空格和换行符,没有另外的标点、数字和大写字母等。该文章以’#’结尾。

Output

输出格式为“C A”,C为’a’..’z’中的字母,A为出现次数,C和A之间空一格

Sample Input

here is the input

this is the article#

Sample Output

a 1

b 0

c 1

d 0

e 5

f 0

g 0

h 4

i 5

j 0

k 0

l 1

m 0

n 1

o 0

p 1

q 0

r 2

s 3

t 5

u 1

v 0

w 0

x 0

y 0

z 0

代码块

import java.util.Arrays;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner cn = new Scanner(System.in);
        String str;
        int[] num = new int[];//定义26个字母的数组
        Arrays.fill(num, );//将数组中的所有元素填充0
        boolean flag = true;//树立一个旗杆
        while (cn.hasNext()) {
            if (flag)//判断旗杆
                str = cn.nextLine();
            else
                break;
            for (int i = ; i < str.length(); i++) {//进行字符串中的判断,并将对应的字母数组,加一
                if (str.charAt(i) == '#')
                    flag = false;
                for (int j = ,k=; j <= ; j++,k++) {
                    if (str.charAt(i) == j||str.charAt(i)==k)
                        num[j - ]++;
                }
            }
            if (!flag)//进行flag判断,
                break;
        }
        for (int i = ; i < ; i++) {//对应输出,数组中的数
            System.out.println((char) (i + ) + " " + num[i]);
        }
    }
}