У меня есть некоторые проблемы с базовым циклом, предназначенным для добавления определенного количества дней (предоставленных в входной строке) в календарь до тех пор, пока вход в календарь не достигнут до текущей даты. Этот конкретный пример должен должен только итерацию один раз, и, действительно, когда он не помещен в цикл, интервал добавляется в календарь без проблем, размещая его до текущей даты в одну итерацию! < /P>
public static void main(String[] args) throws IOException {
//Variable declaration
Calendar curCal = Calendar.getInstance();
//Get the entry's data
Scanner in = new Scanner("HVAC,12,5,25,360");
in.useDelimiter(",");
String name = in.next();//Collect the entry's name
int date = Integer.parseInt(in.next());
int month = Integer.parseInt(in.next()) - 1; //Adjusting for calendar silliness
int year = Integer.parseInt(in.next());
int interval = Integer.parseInt(in.next().trim());
in.close();
Calendar entryCal = Calendar.getInstance();
entryCal.set(year, month, date);
//If the entry is in the past (before the current date), add the entry's interval until it is current or future.
while (entryCal.compareTo(curCal) < 0) {
System.out.println("UPDATE ENTRY: Updating an entry.");
entryCal.add(Calendar.DAY_OF_MONTH, interval);
}
//Reconstruct the entry.
int entryMonth = entryCal.get(Calendar.MONTH)+1;//Adjusting for calendar silliness
String newEntry = name + "," + entryCal.get(Calendar.DATE) + "," + entryMonth + "," + entryCal.get(Calendar.YEAR) + "," + interval;
System.out.println("UPDATE ENTRY: Adding updated entry " + newEntry);
return;
}
< /code>
Почему этот цикл итерации так сильно итерации? Что заставляет это внезапно работать?
Подробнее здесь: https://stackoverflow.com/questions/796 ... -in-a-loop