Java不同單詞個數統計


描述

編寫一個程序,輸入一個句子,然后統計出這個句子當中不同的單詞個數。例如:對於句子“one little two little three little boys”,總共有5個不同的單詞:one, little, two, three, boys。
說明:(1)輸入的句子當中只包含英文字符和空格,單詞之間用一個空格隔開;(2)不用考慮單詞的大小寫,假設輸入的都是小寫字符;(3)句子長度不超過100個字符。

輸入

輸入只有一行,即一個英文句子。

輸出

輸出只有一行,是一個整數,表示句子中不同單詞的個數。

難度

入門

輸入示例

one little two little three little boys

輸出示例

5

完成代碼:

 1 import java.util.Scanner;
 2 
 3 public class Demo01{
 4     public static void main(String[] args) {
 5         Scanner sc = new Scanner(System.in);
 6         int n=0;                                             //n統計有多少個不同單詞,a保存單詞,b判斷是否有重復單詞,設當b=1表示為重復單詞
 7         String str=sc.nextLine();
 8         String[] a=str.split(" ");
 9         int[] b=new int[a.length];
10         for(int i=0;i<a.length;i++){                //從第一個開始遍歷
11             String t1=a[i];                         //用t1保存第i個單詞
12             for(int j=i+1;j<a.length;j++){
13                 String t2=a[j];                     //用t2保存第j個單詞
14                 if(b[i]!=1){                        //b[i]==1表示被訪問的單詞為重復單詞,會跳出循環
15                     if(t1.length()==t2.length()){   //如果兩個單詞長度不同證明是不同單詞,繼續訪問下一個單詞
16                         int flag=0;                 //標記兩個單詞是否一樣,若一樣的話將在b進行標記
17                         for(int h=0;h<t1.length();h++)
18                             if(t1.charAt(h)!=t2.charAt(h)) {
19                                 flag = 1;
20                                 break;
21                             }
22                         if(flag==0)
23                             b[j]=1;
24                     }
25                 }
26             }
27         }
28         for(int i=0;i<a.length;i++){
29             if(b[i]==0)
30                 n++;
31         }
32         System.out.println(n);
33         sc.close();
34     }
35 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM