首页 > 编程语言 > 详细

杭电oj 2072————统计单词数(java)

时间:2020-01-10 11:49:47      阅读:104      评论:0      收藏:0      [点我收藏+]

problem:统计单词数

技术分享图片

 

 

 

思路:利用HashMap的特性——不能反复存储同一个键得数据,所以可以保证map里边儿的元素都是不重复的,存储完毕之后直接输出size就好了

注意事项:

1.利用string类的方法split()时,要用正则表达式“ +”来匹配,否则有三个连续空格以上的话,空格会占一个位子

2.hashmap为空的时候返回的是-1而不是0,所以如果字符串为空的时候,要单独考虑

 

source code:

package hduoj;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
//注意:空格后面要加上“+”否则只会以一个空格来split,要是有几个空格连在一起,空格也会算一个单词
public class hdoj_2072 {
    public static void main(String[] args) {
        String line = "";
        Scanner sc = new Scanner(System.in);
        while(true){
            line =  sc.nextLine();
            if(line.equals("#")) break;
            Map<String,Integer> the_different_word = new HashMap();
            String[] elements = line.split(" +");
            if(elements.length==0) {
                System.out.println(0);
                continue;
            }
//            new util().prinout(elements);
            for(String temp:elements){
                if(!the_different_word.containsKey(temp)){
                    the_different_word.put(temp,1);
                }
            }
            System.out.println(the_different_word.size());
        }
    }
}

 

注:代码已经AC,贴上来的是在自己编译器里的,需要改关键字

 

希望对大家有所帮助

以上

杭电oj 2072————统计单词数(java)

原文:https://www.cnblogs.com/lavender-pansy/p/12174820.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!