zoukankan      html  css  js  c++  java
  • 蓝桥杯java 算法提高 统计单词数

    问题描述
      统计输入英文文章段落中不同单词(单词有大小写之分,但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母.
    输入格式
      一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格,逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车符,表示输入结束.
    输出格式
      若段落中共有M个不同的英文单词,则按照其在段落中出现的先后顺序输出M行,各行的格式为:  单词中所有字母均用大写形式输出(最长的单词顶格输出,它前面没有多余的空格;其余单词与其右对齐)+冒号+N个*号+该单词在段落中的出现次数N
    样例输入
    This is a test. This test is easy. This is a test. This test is easy.

    样例输出

    THIS:****4
    IS:****4
    A:**2
    TEST:****4
    EASY:**2

     1 import java.util.LinkedHashMap;
     2 import java.util.Map;
     3 import java.util.Scanner;
     4 
     5 public class Main{
     6     static int n;
     7     static int h;
     8     public static void main(String[] args) {
     9         Scanner input = new Scanner(System.in);
    10         String a = input.nextLine();
    11         String[] b = a.split(" |, |\. |\.");
    12         Map<String, Integer> m = new LinkedHashMap();
    13         for(int i=0;i<b.length;i++){
    14             b[i] = b[i].toLowerCase();
    15         }
    16         for(int i=0;i<b.length;i++){
    17             if(m.containsKey(b[i])){
    18                 m.put(b[i], m.get(b[i])+1);
    19             }else{
    20                 m.put(b[i], 1);
    21             }
    22         }
    23         for(String s: m.keySet()){
    24             System.out.print(s.toUpperCase()+":");
    25             for(int i=0;i<m.get(s);i++){
    26                 System.out.print("*");
    27             }
    28             System.out.println(m.get(s));
    29         }
    30     } 
    31 }
    
    
    
     
  • 相关阅读:
    常用模块——time模块,datetime模块
    开发目录的规范

    模块
    day17作业
    面向过程编程
    函数递归
    谈谈作为一个菜B的培训感受
    絮叨机房精密空调的制冷剂
    接入机房产生冷凝水
  • 原文地址:https://www.cnblogs.com/duanyingkui/p/8343272.html
Copyright © 2011-2022 走看看