我需要制作一个程序让你添加CD标题,删除它们等。
我需要为我的程序使用Arraylist(存储歌曲)
代码:
ArrayList songlist = new ArrayList();
Collections.addAll(songlist, "Something", "Hard Days Night", "I am the Walrus", "Yesterday", "All the Lonely People");
Collections.sort(songlist);
int songlistsize = songlist.size ();
for (int i = 0; i < songlistsize; i++) {
outputField.setText(i + ": " + songlist.get(i));
问题是程序只显示“昨天”,而不是其他任何内容。
答案 0 :(得分:0)
outputField.setText(i + ": " + songlist.get(i));
因为您正在设置最后一个值而不是追加。做这样的事情:
StringBuilder string = new StringBuilder();
for (int i = 0; i < songlistsize; i++) {
string.append(songlist.get(i));
}
outputField.setText(string);
代码还有许多其他问题,但我坚持这一点。
答案 1 :(得分:0)
如果您尝试在控制台上打印输出,您将看到处理该集合的部分正常工作。 但是由于setText()用最新的歌曲名称替换当前的String,你只能看到“Yesterday”,因为它在你的收藏的最后。 这就是为什么你应该尝试将下一个歌曲名称附加到你的String或确保你复制你当前的String,添加下一个项目,最后使用setText()
例如:
String string = "";
for (int i = 0; i < songlistsize; i++)
{
string = outputField.getText() + songlist.get(i);
outputField.setText(string);
}