簡體   English   中英

從ArrayList打印

[英]Printing from an ArrayList

我正在接收一個文本文件,並將每個單詞存儲在arraylist中。 但是問題是,當我遍歷arraylist並打印內容時,單詞會出現很多次,不一定以正確的順序出現。 這是下面的代碼片段:

 public static void main(String args[])
    {
        try
        {
            ArrayList storeWord = new ArrayList();


            Scanner scannerWord = new Scanner(new File("word"));

            while(scannerWord.hasNext()) {
                String word = scannerWord.next();{
                    storeWord.add(word);

                    Iterator itr = storeWord.iterator();
                    while(itr.hasNext())
                        System.out.println(itr.next());

                }

有誰知道這個問題可能是什么以及如何解決? 謝謝。

嘗試這個

public static void main(String args[]) { 
    ArrayList storeWord = new ArrayList();
    Scanner scannerWord = new Scanner(new File("word"));

    while(scannerWord.hasNext()) {
        storeWord.add(scannerWord.next());
    }

    Iterator itr = storeWord.iterator();
    while(itr.hasNext()){
       System.out.println(itr.next());
    }
}

您的“打印”循環嵌套在您的“讀取”循環中。

您將在每次讀取時打印出整個列表。 這可能就是每個單詞被多次顯示的原因。

你可能想要:

Scanner scannerWord = new Scanner(new File("word"));

while(scannerWord.hasNext()) {
  String word = scannerWord.next();{
  storeWord.add(word);
}
Iterator itr = storeWord.iterator();
while(itr.hasNext())
  System.out.println(itr.next());

您需要從原始的while循環中取出迭代器並打印while循環

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM