Предполагается преобразовать следующий код, который добавляет значения целых чисел из цикла while к for и do while.Мне удалось заставить его работать правильно с циклом «for» и «while», но когда я пытаюсь преобразовать тот же цикл в цикл «do while», я получаю странные числа
import java.util.Scanner;
public class CountLoop{
public static void main (String[] args){
Scanner in = new Scanner (System.in);
int i = -1;
int limit = 0;
System.out.println("Please enter a number");
String end1 = in.nextLine();
int end = Integer.parseInt(end1);
/*while (i < end){
i++;
limit = (i + limit);
*/
//for (i = -1; i < end; limit = (i + limit)) i++;{
do {
limit = (i + limit);
i++;
} while ((i < end));
System.out.println("The sum of the numbers in between 0 and " + end + " is i = " + limit);
}
//System.out.println("The sum of the numbers in between 0 and " + end + " is i = " + limit);
}
Я сказал, что циклы «while» и «for» работают правильно, поэтому я прокомментировал их, чтобы сосредоточиться на цикле «do while», который дает мне близкие, но неверные значения для вывода.Например, когда я ставлю 100, ожидаемый ответ 5050, но я получаю 4949 по любой причине.Я попытался изменить начальные значения переменных и сделать что-то вроде добавления «конца» обратно, но это все ухудшает.Не уверен, что я сделал не так, но любая помощь приветствуется.