Задачи на цикл while
Ниже даётся детальное объяснение самых-самых простых задач в помощь тем, кто ранее не программировал и только делает свои первые шаги в программировании. Изучив их, Вам будет намного легче перейти к более сложным задачам.
Задача №1
Необходимо, чтоб программа выводила на экран вот такую последовательность:
7 14 21 28 35 42 49 56 63 70 77 84 91 98
Комментарии к задаче:
Нам необходимо вывести вот такую последовательность чисел: 7 14 21 28 35 42 49 56 63 70 77 84 91 98
Как видите, первое число 7 и далее к каждому последующему числу прибавляется 7:
Это цикл . Данную задачу мы можем решить с помощью цикла while. Последнее число у нас 98, значит можем в цикле указать 98. Что мы и сделали с помощью вот этой строчки:
Зачем мы это написали? Потому что последовательность чисел у нас начинается с 7.
А с помощью этой строчки будем выводить числа на консоль
мы увеличиваем переменную на 7. Обращаем внимание, что a+=7; это тоже самое, что и a = a+7; Это так называемые сокращенные арифметические операции. О них мы писали в статье «Основные операции с переменными в Java».
Задача №2
Необходимо вывести на консоль такую последовательность чисел:
1 2 4 8 16 32 64 128 256 512
Комментарии к задаче:
Как видно, в последовательности 1 2 4 8 16 32 64 128 256 512 есть закономерность.
Первое число в последовательности – это 1, а все последующие числа умножаются на 2:
То есть мы имеем дело с циклом.
Раз первое число в последовательности 1, пишем перед циклом
Далее, чтобы цикл выполнялся до тех пор, пока n будет меньше или равно 512 , пишем вот эту строчку
С помощью этой строчки будем выводить нашу последовательность чисел на консоль
А чтобы каждый раз число умножалось на 2, пишем в коде
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля.
Или читайте информацию по нашим курсам Java c нуля у нас на сайте.
Задачи на do while java
В стране XYZ население равно 10 миллионов человек. Рождаемость составляет 14 человек на 1000 человек, смертность — 8 человек. Рассчитайте, какая численность населения будет через 10 лет, принимая во внимание, что показатели рождаемости и смертности постоянны.
public class Program < public static void main(String[] args) < int population = 10000000; int born = 14; int death = 8; int dif = born - death; for(int i = 1; i System.out.println(population); > >
В стране XYZ население равно 10 миллионов человек. Рождаемость составляет 14 человек на 1000 человек, смертность — 8 человек. Каждый год рождается и умирает на 1 человек, меньше чем в предыдущий год. Рассчитайте, какая численность населения будет через 10 лет, учитывая, что рождаемость не может быть меньше 7 человек на 1000 человек, а смертностность не может быть меньше 6 человек на 1000 человек.
public class Program < public static void main(String[] args) < int population = 10000000; int born = 14; int death = 8; for(int i = 1; i 7) born -= 1; if (death > 6) death -=1; population += population * (born - death) / 1000; > System.out.println(population); > >
За каждый месяц банк начисляет к сумме вклада 7% от суммы. Напишите консольную программу, в которую пользователь вводит сумму вклада и количество месяцев. А банк вычисляет конечную сумму вклада с учетом начисления процентов за каждый месяц.
Для вычисления суммы с учетом процентов используйте цикл for . Пусть сумма вклада будет представлять тип float.
Введите сумму вклада: 100 Введите срок вклада в месяцах: 1 После 1 месяцев сумма вклада составит 107,000000
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Введите сумму вклада: "); float sum = in.nextFloat(); System.out.print("Введите срок вклада в месяцах: "); int period = in.nextInt(); for(int i = 1; i System.out.printf("После %d месяцев сумма вклада составит %f", period, sum); in.close(); > >
Перепишите предыдущую программу, только вместо цикла for используйте цикл while .
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Введите сумму вклада: "); float sum = in.nextFloat(); System.out.print("Введите срок вклада в месяцах: "); int period = in.nextInt(); int i = period; while (i >0) < sum += sum * 0.07; i--; >System.out.printf("После %d месяцев сумма вклада составит %f", period, sum); in.close(); > >
Напишите программу, которая выводит на консоль таблицу умножения
1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
public class Program < public static void main(String[] args) < for (int i = 1; i < 10; i++) < for (int j = 1; j < 10; j++) < System.out.printf("%d\t", i * j); >System.out.println(); > > >
В цикле программа просит у пользователя ввести два числа и выводит результат их умножения.
После вывода результата умножения программа спрашивает, надо ли завершить выполнение. И если пользователь введет число 1, то программа завершает цикл. Если введено любое другое число, то программа продолжает спрашивать у пользователя два числа и умножать их.
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); int n = 0; do < System.out.println("Введите первое число: "); int num1 = in.nextInt(); System.out.println("Введите второе число: "); int num2 = in.nextInt(); System.out.printf("%d * %d = %d \n", num1, num2, num1 * num2); System.out.println("Для выхода из программы нажмите цифру 1, для подолжения любую другую цифру"); n = in.nextInt(); >while(n!=1); in.close(); > >
Операторы. Задания
Переписать задание «3. Дни недели» используя оператор switch.
Смотрите решение задачи в видео.
5. Распечатать 10 строк циклом while.
Распечатать 10 строк: “Task1”. “Task2”. … “Task10”. Используем цикл while.
Смотрите решение задачи в видео.
6. Распечатать числа циклом do-while.
Распечатать все числа от 1 до 100, которые делятся на 5 без остатка. Используем цикл do-while.
Смотрите решение задачи в видео.
7. Распечатать 5 символом циклом for.
Распечатать 5 символов в одну строку начиная с ‘h’. Используем цикл for.
Смотрите решение задачи в видео.
8. Гирлянда, часть 2.
Переписать гирлянду (Гирлянда, часть 1) добавив следующий функционал:
- Помощью класса Scanner введите число от 1 до 4.
- Если введено число 1 — выполните метод мигания, 2 — проверку первой лампочки, 3 — метод бегущей строки, 4 — вывод состояния гирлянды на консоль.
- Для выбора режима используйте оператор switch.
- Измените метод мигания: метод должен мигнуть гирляндой 10 раз. Используем оператор for.
- Измените метод бегущей строки: метод должен выполнить операцию 10 раз. Используем оператор for.
9. Факториал.
Реализовать подсчет факториала используя цикл for. Пример вычисления факториала:
Число n задается случайным образом (используйте Math.random()). Оно должно быть в диапазоне от 0 до 5.
- Условный оператор If
- Оператор switch
- Циклы Java
- Цикл while
- Цикл do-while
- Цикл for
- Цикл foreach
- Оператор break
- Оператор continue
- Оператор return
- System.exit()
Циклы в Java
И так, минимум 5 раз в неделю (понедельник-пятница) Вы делаете одну и ту же последовательность действий. А раз делается одна и та же последовательность действий, значит речь идёт о цикле. Ну, вот, теперь Вы знаете, что такое цикл.
В Java выделяют 4 вида циклов:
На данном этапе Вам достаточно знать только первые 3 вида циклов.
Цикл for each мы разберём позже вот в этой статье. Сейчас лишь скажем Вам, что цикл for each — это разновидность цикла for. Впервые цикл for each появился в JDK5. В более ранних версиях JDK этого вида цикла не было.
Итак, самое время познакомиться с циклом while.
Цикл while
Цикл while еще называют цикл «пока» или «до тех пор пока».
Давайте начнем с выдуманного немного шуточного житейского примера.
Допустим, у Вас есть друг Вася, а у Васи есть девушка Аленушка. У них «конфетно-букетный период» – сами знаете что это такое. И вот Вася дарит ей цветы, водит по кафешкам, покупает мороженое. Одним словом – обхаживает.
Но бюджет то у Васи не резиновый. И вот Вася говорит себе: «Буду Аленушку водить по кафешкам и цветы дарить до тех пор пока в кошельке у меня будет не меньше 200 грн. Но как только увижу, что в кошельке хоть на 1 копейку меньше, чем 200 грн, — всё, закрываем «конфетно-букетный период», просто сидим дома на диванчике, смотрим телик и всё такое.
Если описать эту житейскую ситуацию в конструкции цикла while (напоминаем, цикл whilе еще иногда называют цикл «до тех пор пока»), то это будет выглядеть так: