Цикл while

Тренажер по Java для пользователей с начальным уровнем подготовки.

Тренажер по Java

Цикл while выполняет блок кода, пока условие истинно. Он подходит, когда заранее неизвестно число повторений: чтение данных, поиск, накопление результата. Синтаксис: while (условие) { ... }. Важно следить за изменением переменных внутри цикла, иначе легко получить бесконечный цикл. В этом практическом тренажёре Java онлайн будут задания: корректная структура while, счётчик и инкремент, простые проверки, предсказание вывода. Это помогает понять, как работает код, и натренировать ответы на задачи.

  • Пример: int i=0; while(i<3){ System.out.println(i); i++; }
Список тем

1. Скелет цикла while

id: 40451_while_01_replace_syntax

Перед вами фрагмент кода на Java, который должен вывести числа от 1 до 3. Сейчас в нём отсутствуют важные элементы синтаксиса. Ваша задача — восстановить структуру цикла: впишите ключевое слово для цикла с предусловием, открывающую фигурную скобку для начала блока кода и операцию увеличения счётчика (инкремент), чтобы программа работала корректно и не ушла в бесконечный цикл.

Заполните пропуски
int count = 1;

// Объявление цикла
input1S (count <= 3) input2S
    System.out.println(count);
    input3S; // Увеличьте count на 1
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Условие и обновление переменной

id: 40451_while_02_replace_condition_update

В этом задании нужно восстановить фрагмент Java-кода, который с помощью цикла while подсчитывает сумму целых чисел от 1 до заданного верхнего предела включительно. В коде пропущены части, отвечающие за стартовое значение счётчика, сравнение в условии цикла и обновление переменной внутри цикла. Заполните пропуски так, чтобы программа компилировалась, корректно завершалась и выводила итоговую сумму для указанного предела.

Заполните пропуски
public class SumWhile {
    public static void main(String[] args) {
        int limit = 5;
        int i = input1S; // начинаем суммирование с 1
        int sum = 0;

        while (i input2S limit) {
            sum += i;
            input3S;
        }

        System.out.println(sum);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

3. Исправить бесконечный цикл

id: 40451_while_03_error_infinite_loop

В этом фрагменте Java-кода программа должна посчитать сумму чисел от 1 до 5 с помощью цикла while и затем вывести результат. Однако в текущем варианте допущена логическая ошибка, из-за которой цикл становится бесконечным и программа не завершится. Найдите строку, где неверно обновляется переменная цикла, и исправьте её так, чтобы алгоритм остался тем же, но цикл гарантированно завершался.

Найдите ошибку и исправьте
public class InfiniteLoopFix {
    public static void main(String[] args) {
        int i = 1;
        int sum = 0;
        while (i <= 5) {
            sum += i;
            i--;
        }
        System.out.println(sum);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Собрать код: обратный отсчёт

id: 40451_while_04_build_from_parts_countdown

Из перемешанных строк соберите корректную Java-программу с циклом while, которая выполняет обратный отсчёт от 5 до 1 и выводит каждое значение счётчика в консоль на новой строке. Одна из строк лишняя: если её включить, логика обратного отсчёта будет нарушена. Соберите единственно правильную последовательность без переписывания строк.

Перетяните в правильном порядке строки из одного блока в другой
public class Countdown {
    public static void main(String[] args) {
        int i = 5;
        while (i > 0) {
            System.out.println(i);
            i--;
        while (i < 0) {
        }
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

5. Предсказать вывод цикла

id: 40451_while_05_predict_result_loops

Проанализируйте фрагмент Java-кода с циклом while и выберите вариант, который точно соответствует выводу программы в консоль. Обратите внимание на начальное значение счётчика, на то, когда происходит вывод, и на то, как изменяется переменная внутри цикла — это часто влияет на наличие «лишней» итерации или пропуск первого значения.

Выберите правильный вариант ответа
public class PredictWhileOutput {
    public static void main(String[] args) {
        int i = 2;
        while (i <= 4) {
            System.out.println(i);
            i++;
        }
    }
}
Сообщения
Проверить
Показать подсказку

6. Итоговое значение переменной после while

id: 40451_while_06_give_result_final_value

Рассмотрите фрагмент Java-кода с циклом while. Внутри цикла увеличивается счётчик и накапливается сумма, а после завершения цикла выводится одно итоговое значение переменной. Введите в поле ответа число, которое будет выведено программой в конце работы (нужно одно значение, без дополнительных символов).

Что должно получиться?
public class FinalValueWhile {
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        while (i < 3) {
            i++;
            sum += i;
        }
        System.out.println(sum);
    }
}
Сообщения
Проверить
Показать подсказку

7. Найти части цикла while

id: 40451_while_07_click_target_parts

Внимательно посмотрите на фрагмент кода Java с одним циклом while. Выделите кликом все части, которые относятся именно к управлению этим циклом: (1) строку инициализации счётчика до цикла, (2) условие в заголовке while, (3) выражение изменения счётчика внутри тела цикла. Не выделяйте другие сравнения и изменения переменных, которые не управляют выполнением данного while.

Кликните по всем фрагментам, которые подходят под условие задания.
public class WhileParts {
    public static void main(String[] args) {
        {{int i = 1;~|~t1}}
        int sum = 0;
        int limit = 4;
        boolean check = (i == limit);

        while ({{i <= limit~|~t2}}) {
            sum += i;
            {{i++;~|~t3}}
        }

        if ({{sum > 0~|~t4}}) {
            sum--;
        }
        {{limit++;~|~t5}}
        System.out.println(sum);
    }
}
Сообщения
Проверить
Показать подсказку

8. Порядок проверки while при отладке

id: 40451_while_08_sequencing_debug_steps

Перед вами перемешанные короткие шаги, описывающие, как выполняется цикл while при пошаговой отладке. Расставьте строки в правильном порядке сверху вниз, начиная с момента, когда выполнение подходит к циклу. Ориентируйтесь на то, что while сначала проверяет условие и только потом выполняет тело, а затем снова возвращается к проверке.

Расставьте строки в правильном порядке
Сделать одну итерацию без проверки условия (как в do-while).
После выхода из цикла выполнить следующую инструкцию программы.
Если условие истинно — выполнить команды внутри тела цикла.
В теле цикла изменить значение переменной, от которой зависит условие (например, увеличить/уменьшить счётчик).
Если условие ложно — выйти из цикла и продолжить выполнение после него.
Вернуться к началу цикла и снова проверить условие.
Перейти к проверке условия цикла while.
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру