Java杭电2072

来源:互联网 发布:apache arrow 编辑:程序博客网 时间:2024/04/28 20:50

单词数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 40505 Accepted Submission(s): 9733

Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。

Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。

Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。

代码如下(Java版):

import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while(true){//此处不能用sc.hasNext(),否则全部空格和回车这两种情况读不出来            String str = sc.nextLine();            if(str.equals("#"))                break;            str = str.trim();//去掉首尾空格            if(str.isEmpty()){                System.out.println("0");                continue;            }            String strs[] = str.split(" +");//字符串拆分            int k = 0;            for(int i=0;i<strs.length;i++){                if(strs[i]==null)                    continue;                for(int j=i+1;j<strs.length;j++){                    if(strs[i]==null)                        continue;                    if(strs[i].equals(strs[j])){                        k++;                        strs[j] = null;                    }                }            }            System.out.println(strs.length-k);        }    }}
0 0
原创粉丝点击