【问题标题】:Input from a multiline TextArea into an array with NetBeans?使用 NetBeans 从多行 TextArea 输入到数组中?
【发布时间】:2014-05-28 03:24:43
【问题描述】:

我需要发生的事情:从多行 TextArea 中获取名称列表,将它们放入数组中,稍作修改,然后将它们打印到列表中。

我遇到的问题:实际上是从 TextArea 获取输入并将其粘贴到一个数组中 - 我已经完成了其余的工作。我读过某人的类似问题,但该问题的解决方案对我不起作用;当我引用它时,我不断收到 NullPointerException,这意味着那里什么都没有,并且输入没有放入数组中。

编码:TextArea 被称为“taClient”,全部通过鼠标点击一个名为“btnProcess”的按钮来激活

    private void btnProcessMouseClicked(java.awt.event.MouseEvent evt)
    {
        String[] names = taClient.getText().split("\\n");

        Account[] account = new Account[names.length];


            for(int x = 0; x<names.length; x++)
            {
                account[x].Name = names[x];
            }

      //All the modifications and other code and printout.

    }

据我所知,这应该可行,但我对 textareas 或 String.split() 方法没有太多经验,所以我可能会走得很远。 (另外,正如我之前所说,这个设计是基于其他人的问题,他们说这个答案解决了他们的问题......但不是我的问题。)

提前致谢!

【问题讨论】:

    标签: java arrays netbeans split


    【解决方案1】:

    您是否尝试用一个反斜杠分割字符串,例如:.split("\n")

    【讨论】:

    • 是的,我尝试了两种方法(因为我是新来的分裂)并得到相同的结果。
    • 您是否尝试在没有“Account”数组的情况下打印它?问题是,即使您有多行,如果您没有按 Enter,它也不会“拆分”。您应该首先尝试将文本转换为这样的字符串: String name = taClient.getText();如果是这种情况,打印它然后拆分。
    【解决方案2】:

    您可能在 Windows 上并想阅读 Split Java String by New Line

    也可以使用 Guava 的 new LineReader(new StringReader(taClient.getText())) 来解决问题 (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/LineReader.html)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多