在「編程珍珠」中,我遇到了以下問題。問題是這樣的:「按照頻率降低的順序打印文字」。據我所知問題是這樣的。假設有一個給定的字符串數組,我們稱之爲s
(字我都隨機選擇,也沒關係),編程珍珠中的字頻
String s[]={"cat","cat","dog","fox","cat","fox","dog","cat","fox"};
我們看到,字符串「貓」出現4次,「狐狸」 3次,「狗「2次。所以期望的結果將是:
cat
fox
dog
我寫了下面的代碼的Java:
import java.util.*;
public class string {
public static void main(String[] args){
String s[]={"fox","cat","cat","fox","dog","cat","fox","dog","cat"};
Arrays.sort(s);
int counts;
int count[]=new int[s.length];
for (int i=0;i<s.length-1;i++){
counts=1;
while (s[i].equals(s[i+1])){
counts++;
}
count[i]=counts;
}
}
}
我已經排序的數組並創建了一個計數陣列,其中我寫的每一個出現的次數單詞在數組中。
我的問題是,不知何故整數數組元素和字符串數組元素的索引是不一樣的。如何根據整數數組的最大元素打印單詞?
davit-datuashvili,你能清理一下你的文章嗎?修復一些拼寫錯誤並縮進代碼,使其顯示格式良好。請參閱:http://stackoverflow.com/editing-help – 2010-05-03 07:42:44
人們喜歡標點符號,就像電腦一樣。 ; v) – Potatoswatter 2010-05-03 07:47:24
請告訴我如何讓它更具可讀性? – 2010-05-03 07:48:45