嵌套循环不按预期工作?

时间:2014-04-24 17:10:17

标签: java for-loop

我正在尝试从一个单元格中取一个值并将其与其余值进行比较以查看它们是否相同然而我的if if statment始终为true,即使它不应该是?什么事发生在这里?

    for(int i = 0; i < stuTable.getRowCount(); i++){
            Object seatNum = stuTable.getValueAt(i,0);
            int seatInt =  Integer.parseInt(String.valueOf(seatNum));
            for(int j = 1; j < stuTable.getRowCount(); j++){
                Object seatNum2 = stuTable.getValueAt(j,0);
                int seatInt2 =  Integer.parseInt(String.valueOf(seatNum2));
                if(seatInt == seatInt2){System.out.println(seatInt+":"+seatInt2);}
            }
    }

1 个答案:

答案 0 :(得分:1)

问题在于内部循环,您始终使用1初始化j。必须启动一个大于i的当前值的内部循环。

内循环应为j = i + 1

完整代码:

for(int i = 0; i < stuTable.getRowCount(); i++){
        Object seatNum = stuTable.getValueAt(i,0);
        int seatInt =  Integer.parseInt(String.valueOf(seatNum));
        for(int j = i + 1; j < stuTable.getRowCount(); j++){
            Object seatNum2 = stuTable.getValueAt(j,0);
            int seatInt2 =  Integer.parseInt(String.valueOf(seatNum2));
            if(seatInt == seatInt2){System.out.println(seatInt+":"+seatInt2);}
        }
}

有关详细信息,请参阅以下评论。