Я пытаюсь создать один цикл for, который использует переменную lapTime для хранения текущего lapTime для гипотетических лыжников.Лыжники должны пройти 5 кругов, и на каждом круге скорость составляет 10%.Метод, который я пишу, должен позволять пользователю вводить номер своего круга, а цикл for должен предсказывать время, когда лыжник закончит свой круг.
slowRate Формула:
nextLapTime = previous lap time + (previous lap time * slowrate);
Я пыталсяиспользуя операторы if-else в цикле for, чтобы заставить его возвращать различные значения, которые зависят от ввода lapNumber пользователя, но это только нарушает цикл for (ошибка мертвого кода).В настоящее время цикл for возвращает только одно значение для каждого повторения цикла - 11 секунд.Я пытался сделать: lapTime = lapTime + (lapTime * slowRate)
, но это возвращает 16. (числа) по любой странной причине.Несмотря на то, что lapTime должен быть установлен равным firstLapTime, который == 10. Код, который я предоставил ниже, возвращает значение 15 - idk Why ..
For-Loop:
public double getLapTime(double firstLapTime, double slowRate, int lapNumber)
double lapTime;
lapTime = firstLapTime;
for (lapNumber=1; lapNumber<=5; lapNumber ++) {
lapTime = lapTime + (firstLapTime * slowRate);
}
return lapTime;
}
Вот методы тестирования, которые я пытаюсь отладить -
1)
public void testShouldHaveSecondLapOf11Seconds() {
// Act: call our method with proper parameter value for our test
double actualResult = theCalculator.getLapTime(10, .1, 2);
// Assert: assert that our expected value is equal to the actual result
assertEquals(11.0, actualResult, 0.001);
2)
public void testShouldHaveThirdLapOf12Point1Seconds() {
// Act: call our method with proper parameter value for our test
double actualResult = theCalculator.getLapTime(10, .1, 3);
// Assert: assert that our expected value is equal to the actual result
assertEquals(12.1, actualResult, 0.001);
}
Я ожидаю получить значения какпоказанный в тестах JUnit, и почему-то логика в моем цикле for не возвращает lapTimes, как это должно быть.Он возвращает только одно число для каждой итерации цикла.
PS .. это одно из моих первых сообщений, поэтому заранее извиняюсь за любые вопросы форматирования.Я сделаю все возможное, чтобы улучшить это.Спасибо!