Цикл цикла (for (int curr = 0; curr<working.size(); curr++){
) должен выполняться n раз, где n - это размер вызываемого ArrayList. Однако даже после проверки того, что ArrayList имеет несколько элементов, цикл выполняется только один раз. Почему это?Почему этот цикл работает только один раз
String sql = "SELECT time FROM `tutors`.`appointments`"
+ "WHERE tutorID = ? AND date = ?";
try{
for (int curr = 0; curr<working.size(); curr++){
System.out.println("working size: " + working.size());
System.out.println("running for the time: " + curr);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, working.get(curr).getTutorID());
ps.setDate(2, toReturn);
ResultSet rs = ps.executeQuery();
while(rs.next()){
Time t = rs.getTime("time");
System.out.println("RS HAS : " + t);
long beforeLong = t.getTime()-900000;
long afterLong = t.getTime()+900000;
Time beforeTime = new Time(beforeLong);
Time afterTime = new Time(afterLong);
if (!time.before(beforeTime) && !time.after(afterTime)){
System.out.println("removed" + working.get(curr).getName());
working.remove(curr);
}
}
}
} catch(SQLException e) {e.printStackTrace();}
PS - У меня такая же проблема, поставил ли я try/catch внутри цикла for или вне его.
Что вы видите при прохождении кода в своем отладчике? –