題目
Description
巨硬公司(huge-hard)最近計劃出品一個字處理軟體。軟體基本功能已經完成,但還缺少一個單詞統計的功能,你的任務就是為該公司寫一段程式,完成統計功能。
需要統計的資訊有兩項:出現單詞的個數和單個單詞出現的次數。
Input
輸入為一行字元串,即要統計的文本。
Output
輸出由若幹行組成,第一行是一個整數,表示單詞的個數,從第二行開始,每行由字元串、冒号、整數組成,其中字元串是一個出現在文本中的單詞,整數則是該單詞在文本中出現的次數。
Sample Input
to know everything is to know nothing
Sample Output
7
everything:1
is:1
know:2
nothing:1
to:2
代碼塊
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cn = new Scanner(System.in);
String str = cn.nextLine();
String[] dd = str.split(" ");
System.out.println(dd.length);
Word[] word = new Word[dd.length];
int k = ;
for (int i = ; i < dd.length; i++) {
if (dd[i].equals("-1"))//用改值的方法,跳過重複的單詞
continue;
else {
String name = dd[i];
int temp = ;
for (int j = i + ; j < dd.length; j++) {
if (dd[i].equals(dd[j])) {
dd[j] = "-1";//将重複的字元串的值改成-1
temp++;
}
}
word[k]= new Word(temp+,name);
k++;
}
}
for(int i =;i<k;i++){
for(int j = i+;j<k;j++){
if(word[i].getName().compareTo(word[j].getName())>){
Word zz = word[j];
word[j] = word[i];
word[i] = zz;
}
}
}
for (int z = ; z < k; z++) {
System.out.println(word[z].getName() + ":" + word[z].getTemp());
}
}
}
class Word {
private int temp;
private String name;
public Word(int temp, String name) {
this.name = name;
this.temp = temp;
}
public void setTemp(int temp) {
this.temp = temp;
}
public void setName(String name) {
this.name = name;
}
public int getTemp() {
return this.temp;
}
public String getName() {
return this.name;
}
}