首页 > 试题广场 >

字母统计

[编程题]字母统计
  • 热度指数:17168 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入一行字符串,计算其中A-Z大写字母出现的次数

输入描述:
案例可能有多组,每个案例输入为一行字符串。


输出描述:
对每个案例按A-Z的顺序输出其中大写字母出现的次数。
示例1

输入

DFJEIWFNQLEF0395823048+_+JDLSFJDLSJFKK

输出

A:0
B:0
C:0
D:3
E:2
F:5
G:0
H:0
I:1
J:4
K:2
L:3
M:0
N:1
O:0
P:0
Q:1
R:0
S:2
T:0
U:0
V:0
W:1
X:0
Y:0
Z:0
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;

public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        Map<Character,Integer> map = new HashMap<>();
        String s = sc.nextLine();
        for (int j = 0;j<26;j++){
            map.put((char)(j+'A'), 0);
        }
        for (int i = 0;i<s.length();i++){
            int count = 0;
            if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){
                if(map.containsKey(s.charAt(i))){
                    count = map.get(s.charAt(i));
                    map.put(s.charAt(i),count+1 );
                }else {
                    map.put(s.charAt(i),1 );
                }
            }
        }
        Iterator it = map.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry entry = (Map.Entry) it.next();
            Character  key = (Character) entry.getKey();
            Integer value = (Integer) entry.getValue();
            System.out.println( key + ":" + value);
        }
    }
}

发表于 2020-03-08 21:26:38 回复(0)
Java 解法
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[] array = scanner.nextLine().toCharArray();
        int[] record = new int[256];
        for (char c : array) {
            record[c]++;
        }
        for (int i = 'A'; i <= 'Z'; i++) {
            System.out.println((char) i+":"+record[i]);
        }
    }
}


发表于 2020-03-07 09:54:13 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            char[] str = sc.nextLine().toCharArray();
            int[] a = new int[26];
            for(int i=0;i<str.length;i++){
                if(str[i]-'A' < 26 && str[i]-'A' >= 0){
                    a[str[i]-'A']++;
                }
            }
            for(int i=0;i<26;i++){
                System.out.println((char)(i+'A')+":"+a[i]);
            }
        }
    }
}

发表于 2018-09-16 18:44:58 回复(0)
import java.util.*;  public class Solution41 { public static void main(String[] args) {
        Scanner in = new Scanner(System.in);  String str = in.nextLine();  Iterator it = calc(str).entrySet().iterator();  while (it.hasNext()) {
            Map.Entry ent=(Map.Entry )it.next();  System.out.println(ent.getKey() + ":" + ent.getValue());  }
         } public static TreeMap<Character, Integer> calc(String str) { char[] chars = str.toCharArray();  TreeMap<Character, Integer> map = new TreeMap<>();  for (char i = 'A'; i <= 'Z'; i++) {
              map.put(i, 0);  } for (int i = 0; i < chars.length; i++) { if (chars[i] >= 'A' && chars[i] <= 'Z') { int count = 0;  Integer value = map.get(chars[i]);  if (value != null) {
                    count = value + 1;  }
                map.put(chars[i], count);  }
        } return map;  }
}

发表于 2018-09-11 12:59:06 回复(0)

问题信息

难度:
4条回答 10381浏览

热门推荐

通过挑战的用户

查看代码