Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java arraylist循环未显示_Java_Arraylist - Fatal编程技术网

Java arraylist循环未显示

Java arraylist循环未显示,java,arraylist,Java,Arraylist,我需要做一个程序,让你添加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);

我需要做一个程序,让你添加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));
ArrayList歌曲列表=新建ArrayList();
收藏。addAll(歌曲列表,“某物”,“艰难的白天黑夜”,“我是海象”,“昨天”,“所有孤独的人”);
集合。排序(歌曲列表);
int songlistsize=songlist.size();
for(int i=0;i
问题是程序只会显示“昨天”,而不会显示其他内容

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);
StringBuilder string=new StringBuilder();
for(int i=0;i
代码还有许多其他问题,但我坚持这一点

因为您正在设置最后一个值,而不是追加。请执行以下操作:

    StringBuilder string = new StringBuilder();
    for (int i = 0; i < songlistsize; i++) {
            string.append(songlist.get(i));
    }
    outputField.setText(string);
StringBuilder string=new StringBuilder();
for(int i=0;i

代码还有许多其他问题,但我坚持要说的是。

如果您尝试在控制台上打印输出,您将看到处理集合的部分工作正常。 但是,由于setText()将当前字符串替换为最新的歌曲名称,因此您只能看到“昨天”,因为它位于收藏的末尾。 这就是为什么您应该尝试将下一首歌的名字附加到字符串中,或者确保复制当前字符串,添加下一项,最后使用setText()的原因

例如:

String string = "";
for (int i = 0; i < songlistsize; i++) 
{
        string = outputField.getText() + songlist.get(i);
        outputField.setText(string);
}
String=”“;
for(int i=0;i
如果您尝试在控制台上打印输出,您将看到处理集合的部分工作正常。 但是,由于setText()将当前字符串替换为最新的歌曲名称,因此您只能看到“昨天”,因为它位于收藏的末尾。 这就是为什么您应该尝试将下一首歌的名字附加到字符串中,或者确保复制当前字符串,添加下一项,最后使用setText()的原因

例如:

String string = "";
for (int i = 0; i < songlistsize; i++) 
{
        string = outputField.getText() + songlist.get(i);
        outputField.setText(string);
}
String=”“;
for(int i=0;i
outputField是什么类型的对象?
outputField
?请发布您的所有代码,以便我们能够真实地再现问题我认为
outputField
可能是
JTextArea
JTextField
。如果您想在一个循环中向其添加多个内容,我认为
setText
将覆盖当前存在的内容,但e> append
将添加到已经存在的内容中。除非
setText
将字符串附加到其值中,否则它将显示最后一个值,尝试创建一个连接字符串,然后将其设置到outputField。什么类型的对象是
outputField
?请发布您的所有代码,以便我们可以实际重现问题我认为
output字段
可以是
JTextArea
JTextField
。如果要在循环中向其添加多个内容,我认为
setText
将覆盖当前存在的内容,但
append
将添加到已存在的内容。除非
setText
将字符串附加到其值,否则它将显示最后一个值,然后重试读取连接的字符串,然后将其设置为outputField。