【问题标题】:Appending from an ArrayList more than once causes multiple values to be printed at once?多次从 ArrayList 追加会导致一次打印多个值?
【发布时间】:2018-03-18 16:18:27
【问题描述】:

我遇到了一个不知道如何解决的问题。我正在开发一个写入 .txt 文件并从同一个 .txt 文件读取的字符创建器。我可以在第一次尝试时将 .txt 文件中的每一行附加到 JTextArea,但是当我返回主菜单,然后返回到视图选项卡时,它会显示前两个值,而不仅仅是第一个价值。每次返回它都会增加另一个价值。关于如何修复的任何想法?如果这是一个非常愚蠢的问题,我深表歉意。

viewInfo.addActionListener (new ActionListener ()
    {
        public void actionPerformed (ActionEvent e) 
        {

            i3 = i3 + 1;    

            try { BufferedReader br = new BufferedReader(new FileReader("charCreator.txt"));

                while ((name1 [i3] = br.readLine()) != null) {

                    if (!list.contains(name1 [i3])){  

                        list.add (name1 [i3]);

                    }

                }

                br.close ();                  

            } catch (IOException e1) {
                e1.printStackTrace();
            }

            String infoArray [] = list.toArray (new String [500]);

            viewArea.append (infoArray [i3]);
            viewArea.append ("\n");

        } 
    }
    );

我对自己的编码技能并不完全有信心,但我们总是感谢有建设性的批评。大多数变量是全局的。

【问题讨论】:

    标签: java arrays eclipse arraylist append


    【解决方案1】:

    您可能必须确保在输入方法时不要保留列表。比如:

    list.clear()
    

    另一种方法是将列表声明移动到您的方法中,这样您就知道它是新的。方法结束后好像不需要了。

    【讨论】:

    • 我已经尝试了你的建议。我仍然遇到同样的问题。而不是只给我 name1 [1],当我只需要前者时,它给了我 name1 [1] & name1 [2]。这只发生在第二次尝试查看条目时。
    • 没有足够的代码来理解发生了什么。也许有些东西意外地写入文件?
    • 也许我正在奇怪地写入文件?写入 .txt 文件代码 --> prntscr.com/gu85tw
    猜你喜欢
    • 2014-08-14
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 2023-02-10
    • 2015-05-08
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    相关资源
    最近更新 更多