Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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_For Loop_Arraylist - Fatal编程技术网

Java ArrayList添加在循环外不起作用

Java ArrayList添加在循环外不起作用,java,for-loop,arraylist,Java,For Loop,Arraylist,我知道StackOver flow不是一个你可以把你的家庭作业贴出来并让别人帮你做的地方 但我已经束手无策了,我尝试了一些简单的调试方法,比如打印行,在那里我可以看到结果,只是知道arraylist在我添加时是如何不保存项目的 假设数组添加了两个项 first item(name1,job1,event1,date1,location1) second item(name2,job2,event2,date2,location2) 最终结果 这是密码 公共课堂作业{ // ... 私营

我知道StackOver flow不是一个你可以把你的家庭作业贴出来并让别人帮你做的地方 但我已经束手无策了,我尝试了一些简单的调试方法,比如打印行,在那里我可以看到结果,只是知道arraylist在我添加时是如何不保存项目的

假设数组添加了两个项

  first item(name1,job1,event1,date1,location1)
  second item(name2,job2,event2,date2,location2)
最终结果 这是密码
公共课堂作业{
// ...
私营企业;
私有字符串[]作业数组;
私有字符串[]事件数组;
私人结核病;
私有字符串[]名称数组;
//...
公共ArrayList retrievebyname(字符串名称、字符串日期){
结果集rs=null;
DBController db=新的DBController();
ArrayList=新建ArrayList();
//for循环的开始**
对于(int k=0;k
编辑后,我看到您在方法的开头创建了一个
时间表的实例。这还不够。
这意味着您要一次又一次地将同一对象添加到列表中,并在每次迭代中覆盖其属性

必须为添加到列表中的每个对象创建一个新的
时间表实例

    tb = new Timetable ();
    tb.setName(namesarray[k]);
    tb.setJobName(jobarray[k]); 
    tb.setEventName(rs.getString("eventName")); 
    tb.setDate(rs.getString("date"));
    tb.setLocation(rs.getString("location"));
    list.add(k, tb)

编辑之后,我看到您在方法的开头创建了一个
timeline
的实例。这还不够。 这意味着您要一次又一次地将同一对象添加到列表中,并在每次迭代中覆盖其属性

必须为添加到列表中的每个对象创建一个新的
时间表实例

    tb = new Timetable ();
    tb.setName(namesarray[k]);
    tb.setJobName(jobarray[k]); 
    tb.setEventName(rs.getString("eventName")); 
    tb.setDate(rs.getString("date"));
    tb.setLocation(rs.getString("location"));
    list.add(k, tb)

事实上,你可以发布你的家庭作业问题,人们会尽力帮助你。只是不要期望收到完成的答案,以减轻您的学习负担。尝试使用列表。添加(tb);相反,我尝试了list.add(tb)我也得到了同样的结果,所以我认为增加这个职位会更好。因为你显然在这方面付出了一些努力,这里的人会很乐意提供帮助。实际上,你可以发布你的家庭作业问题,人们会尽力帮助你。只是不要期望收到完成的答案,以减轻您的学习负担。尝试使用列表。添加(tb);相反,我尝试了list.add(tb)我得到了同样的结果,所以我认为增加这个职位会更好,因为你显然在这方面付出了一些努力,这里的人会很乐意帮忙的。哇,谢谢,它已经起作用了,实际上我已经在程序中添加了,但是我在循环之外添加了。哇,谢谢,它已经起作用了,实际上我已经在程序中添加了,但是我在循环之外添加了
    tb = new Timetable ();
    tb.setName(namesarray[k]);
    tb.setJobName(jobarray[k]); 
    tb.setEventName(rs.getString("eventName")); 
    tb.setDate(rs.getString("date"));
    tb.setLocation(rs.getString("location"));
    list.add(k, tb)