在arraylist中显示多行输出

时间:2016-11-29 17:53:54

标签: java arraylist netbeans

我必须将标记(数字)作为用户的输入,然后存储到数组中并替换它。这就是我所拥有的:

ArrayList <Integer> marks=new ArrayList();
    private void addActionPerformed(java.awt.event.ActionEvent evt) {                                    
marks.add(Integer.parseInt(marksinput.getText()));
Collections.addAll(marks);  
for(int i=0; i < 10;i++){
    marksoutput.setText(marks+"");
}    

我遇到的问题是它用括号和逗号在一行中显示输出。我希望新行上的每个标记都没有括号和逗号。任何帮助表示赞赏,并提前感谢您!☻

3 个答案:

答案 0 :(得分:0)

您可以这样做:

   marksoutput.setText(marks+"\n"); 

"\n"将在其间添加新行。

答案 1 :(得分:0)

非常接近。检查增强的for循环。他们很棒。此外,您可以最小化逻辑并摆脱marksoutput,由于marksoutput每次循环迭代,当前覆盖setText()也会实现错误。您需要使用add()来将每个新项目附加到现有列表的末尾。

没有marksoutput ArrayList示例:

List <Integer> marks=new ArrayList();

private void addActionPerformed(java.awt.event.ActionEvent evt) 
{                                    
    marks.add(Integer.parseInt(marksinput.getText()));

    // Here is the new for-loop, known as an enhanced for-loop
    for(Integer i : marks)
    {
        System.out.println(i);
    }
}

使用marksoutput ArrayList示例

List <Integer> marks=new ArrayList();

private void addActionPerformed(java.awt.event.ActionEvent evt) 
{                                    
    marks.add(Integer.parseInt(marksinput.getText()));

    // Here is the new for-loop, known as an enhanced for-loop
    for(Integer i : marks)
    {
        marksout.add(i); // adds the element `i` to the end of `marksout` list
    }
}

答案 2 :(得分:0)

marksArrayList的一个对象,这就是为什么你用括号和逗号得到输入的原因,因为当你打印对象marks时,它会打印出它的toString()方法。你需要像这样迭代它:

StringBuilder strBuilder = new StringBuilder();
for(Integer num : marks) {
    strBuilder.append(num.toString());
}
marksoutput.setText(strBuilder.toString());