我試圖用掃描儀與形式的「A/B」部分字符串文本文件閱讀,它們存儲在一個數組,然後打印到控制檯上沿每個唯一一個其計數。我可以用精確的計數打印文本文件中的每個單獨條目,但我無法弄清楚如何在沒有任何重複的情況下打印數組的內容。刪除重複數組項
我也想完全主內做到這一點。下面是我到目前爲止有:
公共靜態無效的主要(字串[] args)拋出FileNotFoundException異常 {
ArrayList<String> fracs = new ArrayList<String>();
Scanner input = new Scanner(new File("input.txt"));
ArrayList<String> fracsDisplay = new ArrayList<String>();
while(input.hasNext())
fracs.add(input.next());
for(int i = 0; i < fracs.size(); i++)
{
int count = 0;
for(int j = 0; j < fracs.size(); j++)
{
if(fracs.get(i).equals(fracs.get(j)))
count++;
}
System.out.println(fracs.get(i) + ": " + count);
}
input.close();
}
嗯,你可以添加的元素之前檢查'fracs.contains(...)'如果數組包含已經是一個元素,如果是的話只是增加計數器或避免再次添加元素。一個'Set'默認情況下阻止重複條目。如果你想打印入口名稱和數量,爲什麼不使用'Map'?通過獨特的條目(=鍵)查找計(=值) –