阿里研发工程师编程题——统计一篇文章中每个单词出现的次数

一、题目

输入例子1:

If not now when , if not me who?

输出例子1:

if 2
not 2
now 1
when 1
me 1
who 1

二、代码实现

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

public class CountWordOccurrences {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Map<String, Integer> map = new LinkedHashMap<>();
        while (sc.hasNext()) {
            String s = sc.nextLine();
            String[] splitArr = s.trim().split("[,。?,.? ]");
            for (int i = 0; i < splitArr.length; i++) {
                if (!("".equals(splitArr[i]))) {
                    Iterator<String> it = map.keySet().iterator();
                    boolean exist = false;
                    while (it.hasNext()) {
                        String key = it.next();
                        if (key.equalsIgnoreCase(splitArr[i])) {
                            exist = true;
                            map.put(key, map.get(key) + 1);
                        }
                    }
                    if (exist == false) {
                        map.put(splitArr[i], 1);
                    }
                }
            }
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
                System.out.println(entry.getKey() + " " + entry.getValue());
            }
        }
    }
}
发布了386 篇原创文章 · 获赞 313 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/riemann_/article/details/104366628