Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 循环逻辑错误_Java_List_Loops - Fatal编程技术网

Java 循环逻辑错误

Java 循环逻辑错误,java,list,loops,Java,List,Loops,我得到了一个包含值的表格——用户名、品牌和公司,表格中有详细信息 现在,我正尝试通过循环来打印用户的姓名、用户的品牌/名称以及公司名称 但是当我在循环中尝试时,我没有得到正确的输出 public static void main(String arfs[]) { List company = new ArrayList(); List brand = new ArrayList(); List name = new ArrayList(); try

我得到了一个包含值的表格——用户名、品牌和公司,表格中有详细信息

现在,我正尝试通过循环来打印用户的姓名、用户的品牌/名称以及公司名称

但是当我在循环中尝试时,我没有得到正确的输出

 public static void main(String arfs[])
 {
    List company = new ArrayList();
    List brand = new ArrayList();
    List name = new ArrayList();

    try
    {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("URL","root","root");
    Statement stmt = con.createStatement();
    ResultSet rs=stmt.executeQuery("select * from fashion");
    while(rs.next())
    {
        name.add(rs.getString("Username"));
        brand.add(rs.getString("Brand"));
        company.add(rs.getString("Company"));
    }



    for(int i=0; i<name.size();i++)
    {
        if((name.get(i)!=null)&&(brand.get(i)!=null))
        {
            System.out.println("----Brand------");
            System.out.println(brand.get(i));

        }
        if((name.get(i)!=null)&&(company.get(i)!=null))
        {
             System.out.println("----Company-----");
            System.out.println(company.get(i));
        }

    }


    }
    catch(Exception e)
    {

    }

}
publicstaticvoidmain(字符串arfs[])
{
上市公司=新ArrayList();
列表品牌=新的ArrayList();
列表名称=新的ArrayList();
尝试
{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“URL”、“根”、“根”);
语句stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(“从时尚中选择*);
while(rs.next())
{
name.add(rs.getString(“用户名”);
brand.add(rs.getString(“brand”);
company.add(rs.getString(“company”);
}

对于(int i=0;i您将删除您的条件。您的公司字段为空,因此“if”条件不会打印任何内容

for(int i=0; i<name.size();i++)
    {

            System.out.println("----Brand------");
            System.out.println(brand.get(i));
            System.out.println("----Company-----");
            System.out.println(company.get(i));

    }

for(int i=0;iI)看到前两个公司是
null
。因此该条件的计算结果为
false
。公司在arraylist中可以为null!!!我们可以看到实际的输出吗?如果条件阻止了输出,请同意@KumaresanPerumal。因此,请删除它们。也不要将名称作为主键。(如果用户名是主键)。正如其他人所写,问题在于If条件(这是纯逻辑,而字段为null,则不会打印任何内容)顺便说一句,我也认为逻辑上把表中的每一行保存在3个单独的列表中不是一个好主意。更好的方法是创建自己的类,并将其保存到列表或映射中,其他方法可以是通过数组的一个列表,例如(每条记录将作为一行),等等。。