天天看點

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]);
        }
    }
}