我有一個長文本存儲在String
(即tstr1
im代碼)。現在我想將來自控制檯的用戶輸入存儲在String[]
(即itemsFromArray
im代碼)中。對於Java中每個循環的字數爲
我想要爲存儲在用戶輸入String []數組中的每個單詞顯示該單詞出現在長文本字符串[]數組中的次數。我以這種方式嘗試過,但問題在於系統僅顯示數組中的第一個條目的計數,但下一個顯示爲零。
btnNewButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
keyW = txtKeyword.getText();
search = textField.getText();
System.out.println("String for car = " + search);
System.out.println("String keyword = " + keyW);
WebDriver driver = new FirefoxDriver();
driver.get("https://en.wikipedia.org/wiki/" + search);
tstr1 = driver.findElement(By.xpath("//*[@id='content']")).getText();
String [] itemsFromArray = keyW.split(",");
Map<String, Integer> map = new HashMap<String, Integer>();
for (String word : itemsFromArray){
map.put(word, 0);
}
Scanner s = new Scanner(tstr1);
while (s.hasNext()){
String word = s.next();
if (map.containsKey(word)){
map.put(word, map.get(word) + 1);
System.out.println("Word1 '" + word + "' count:" + map.get(word));
} else {
System.out.println("Word2 '" + word + "' not in map");
}
}
driver.close();
}
});
您可能想要使用Map(字 - >數)。 –
迭代輸入字符串並將計數(對於每個單詞)存儲在映射中,其中單詞是鍵,值是計數。 –
我真的不明白怎麼做,請你詳細解釋一下。謝謝!!! –