Java 方法中的索引未增加
好吧,这似乎很容易,但它已经困扰了我好几天了,我真的不知道为什么指数不会增加,并得到其他数据。我不知道去哪里,但是Java 方法中的索引未增加,java,for-loop,Java,For Loop,好吧,这似乎很容易,但它已经困扰了我好几天了,我真的不知道为什么指数不会增加,并得到其他数据。我不知道去哪里,但是返回。我把它放在两行中,第一行只给出数据库中的第一行数据,第二行只给出数据库中的最后一行数据。(参见下面注释掉的行)。如何获得符合if语句的每一行 这是我的密码: public Object[] populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, Str
返回。我把它放在两行中,第一行只给出数据库中的第一行数据,第二行只给出数据库中的最后一行数据。(参见下面注释掉的行)。如何获得符合if语句的每一行
这是我的密码:
public Object[] populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay){
for(int i = 0; i<outletList.size(); i++){
if(outletList.get(i).getCity().equalsIgnoreCase(selection)){
if(outletList.get(i).getStatus().equals("ACTIVE")){
bar = outletList.get(i).getBarangay();
code = Integer.toString(outletList.get(i).getCode());
name = outletList.get(i).getName();
data = new Object[]{bar, name, code};
//return data ->gives the first one in the database
}
}
}
}
//return data -> gives the last one in the database
}
public Object[]populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay){
for(int i=0;原始数据库中的第一个
}
}
}
}
//返回数据->给出数据库中的最后一个数据
}
您需要将所有结果保存在另一个数组中,然后返回该数组
public Object[] populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay)
{
List<object> result = new List<object>();
for(int i = 0; i<outletList.size(); i++)
{
if(outletList.get(i).getCity().equalsIgnoreCase(selection))
{
if(outletList.get(i).getStatus().equals("ACTIVE"))
{
bar = outletList.get(i).getBarangay();
code = Integer.toString(outletList.get(i).getCode());
name = outletList.get(i).getName();
data = new Object[]{bar, name, code};
result.Add(data);
}
}
}
return result.ToArray();
}
public Object[]populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay)
{
列表结果=新列表();
对于(inti=0;i,您需要将所有结果保存在另一个数组中,然后返回该数组
public Object[] populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay)
{
List<object> result = new List<object>();
for(int i = 0; i<outletList.size(); i++)
{
if(outletList.get(i).getCity().equalsIgnoreCase(selection))
{
if(outletList.get(i).getStatus().equals("ACTIVE"))
{
bar = outletList.get(i).getBarangay();
code = Integer.toString(outletList.get(i).getCode());
name = outletList.get(i).getName();
data = new Object[]{bar, name, code};
result.Add(data);
}
}
}
return result.ToArray();
}
public Object[]populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay)
{
列表结果=新列表();
对于(int i=0;i您的问题如下:
您的第一个return语句将退出for
循环,并返回
第一个对象,如您的结果所示
正如您所解释的,您的第二个返回声明将
返回在for
循环中迭代的最后一条记录
第三个问题是在这一行data=newobject[]{bar,name,
code};
。每次循环后,您都会将数据对象实例化为一个新的
对象数组,而不是将值添加到数组中,因此本质上,您总是创建一个包含1项的对象数组,这是最后一个迭代的项
如果要返回数组中的所有对象,应尝试以下操作:
public Object[] populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay)
{
Object[] result = new Object[outletList.size()];
for (int i = 0; i < outletList.size(); i++)
{
if (outletList.get(i).getCity().equalsIgnoreCase(selection))
{
if (outletList.get(i).getStatus().equals("ACTIVE"))
{
bar = outletList.get(i).getBarangay();
code = Integer.toString(outletList.get(i).getCode());
name = outletList.get(i).getName();
var data = new { bar, name, code };
result[i] = data;
}
}
}
return result;
}
public Object[]populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay)
{
Object[]result=新对象[outletList.size()];
对于(int i=0;i
您的问题如下:
您的第一个return语句将退出for
循环,并返回
第一个对象,如您的结果所示
正如您所解释的,您的第二个返回声明将
返回在for
循环中迭代的最后一条记录
第三个问题是在这一行data=newobject[]{bar,name,
code};
。每次循环后,您都会将数据对象实例化为一个新的
对象数组,而不是将值添加到数组中,因此本质上,您总是创建一个包含1项的对象数组,这是最后一个迭代的项
如果要返回数组中的所有对象,应尝试以下操作:
public Object[] populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay)
{
Object[] result = new Object[outletList.size()];
for (int i = 0; i < outletList.size(); i++)
{
if (outletList.get(i).getCity().equalsIgnoreCase(selection))
{
if (outletList.get(i).getStatus().equals("ACTIVE"))
{
bar = outletList.get(i).getBarangay();
code = Integer.toString(outletList.get(i).getCode());
name = outletList.get(i).getName();
var data = new { bar, name, code };
result[i] = data;
}
}
}
return result;
}
public Object[]populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay)
{
Object[]result=新对象[outletList.size()];
对于(int i=0;i
试试这个:
public List<Outlet> populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay){
List<Outlet> data = new ArrayList<Outlet>();
for(int i = 0; i < outletList.size(); i++){
if(outletList.get(i).getCity().equalsIgnoreCase(selection) &&
outletList.get(i).getStatus().equals("ACTIVE")){
data.add(outletList.get(i));
}
}
return data;
}
public List populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay){
列表数据=新的ArrayList();
对于(int i=0;i
试试这个:
public List<Outlet> populateTable(ArrayList<Outlet> outletList, String selection, int size, int monthCtr, String selDay){
List<Outlet> data = new ArrayList<Outlet>();
for(int i = 0; i < outletList.size(); i++){
if(outletList.get(i).getCity().equalsIgnoreCase(selection) &&
outletList.get(i).getStatus().equals("ACTIVE")){
data.add(outletList.get(i));
}
}
return data;
}
public List populateTable(ArrayList outletList,字符串选择,int size,int monthCtr,String selDay){
列表数据=新的ArrayList();
对于(int i=0;i
不会产生结果。push()是更好的方法吗?@NikhileshKV是的,刚刚注意到if.Netbeans为List result=new List();.返回错误。type List不带参数??您需要使用使用System.Collections.Generic;
为Generic List生成结果。push()是更好的方法吗?@NikhileshKV yesp,刚刚注意到if.Netbeans为List result=new List();;返回了错误。type List不带参数??您需要使用using System.Collections.Generic;
来处理泛型列表