我正在尝试从一个单元格中取一个值并将其与其余值进行比较以查看它们是否相同然而我的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);}
}
}
答案 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);}
}
}
有关详细信息,请参阅以下评论。