我必须将标记(数字)作为用户的输入,然后存储到数组中并替换它。这就是我所拥有的:
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+"");
}
我遇到的问题是它用括号和逗号在一行中显示输出。我希望新行上的每个标记都没有括号和逗号。任何帮助表示赞赏,并提前感谢您!☻
答案 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)
marks
是ArrayList
的一个对象,这就是为什么你用括号和逗号得到输入的原因,因为当你打印对象marks
时,它会打印出它的toString()方法。你需要像这样迭代它:
StringBuilder strBuilder = new StringBuilder();
for(Integer num : marks) {
strBuilder.append(num.toString());
}
marksoutput.setText(strBuilder.toString());