2014-01-28 106 views
-4

我正在研究計算店鋪中不同顏色的T恤衫數量的程序,它不能位於ArrayList。對於每一個交付,我們節省了T恤的顏色.txt文件是這樣的:如何計算txt.file中重複出現的每個不同單詞的數量

紅色

黃色

紅色

白色

白色

所以,程序會統計有多少紅色,黃色w和白色tshirts有。在這種情況下,我們有2個紅色的T恤,1個黃色的T恤和2個白色的T恤。

其實這個程序是關於獻血螞蟻血型的。但不是五顏六色的T恤,而是血型,B型血,O型血,最後是AB血型。但algorythim和它的代碼是相同的

我們已經在設計中的每種類型的血液按鈕,當一個動作執行時,它顯示該類型的血液的包裝數量有貨。 我們從用戶2469133得到這個

int count;

count = StringUtils.countMatches(「C://sangue.txt」,「O」); //文本文件應該是一個字符串 System.out.println(「白色T恤數量=」+ count);

我們一直在尋找,但它似乎是陣列或hashmaps的代碼,我們沒有研究過最後一個。我們將非常感謝幫助

+3

閱讀每一個值,並把它放在一個HashMap中''。如果它存在,則增加該值,否則將其添加。儘管自己寫代碼;因爲它不是你的程序。 –

+0

它可能是你的家庭作業....只是自己嘗試...或者告訴我們你到底做了什麼? –

+0

你的教授是否知道你在SO上做作業? – Sam

回答

0

因此,你可以下載Apache共同Lang庫,並把jar文件中的類路徑。

然後做這樣的事情:

int count; 
count=StringUtils.countMatches(textfile, "white"); //where text file should be a string 
System.out.println("number of white T-shirts = "+count); 
+0

很好,謝謝。我們將繼續從此 – user3244318

0

您可以將它們全部從文本文件保存到ArrayList中。然後您可以使用Collections.frequency方法。

所以

List<String> list = new ArrayList<String>(); 
list.add("red"); 
list.add("red"); 
list.add("yellow"); 
list.add("blue"); 
list.add("red"); 
list.add("red"); 
list.add("yellow"); 
System.out.println("red : " + Collections.frequency(list, "red"); 

這應該給你的4

+1

*「它不能在一個ArrayList」* –

+0

糟糕。沒有看到。然後必須去看陣列。不會很有伸縮性。 –

+0

一個簡單的'HashMap'非常適合這個 –

相關問題