Java упражнения для циклов

Задачи. Цикл for, введение — 05 #

Существует такая традиция: при приготовлении пельменей в один из них кладут монетку на счастье. Считается, что тому, кому попадется пельмень с монеткой, улыбнется удача.

  • Представим, что у нас есть кастрюля, в которой лежит 10 пельменей.
  • Один из них счастливый — а именно пятый пельмень.
  • Давайте напишем программу, которая ищет счастливый пельмень.
  • Программа перебирает пельмени в кастрюле по одному,
  • и когда доходит до пятого пельменя — напишет “Вот счастливый пельмень!” и выходит из цикла.

2. На 3 без остатка #

Вывести на экран все числа от 1 до 100, которые делятся на 3 без остатка.

3. Последовательность (100) #

Необходимо, чтоб программа выводила на экран вот такую последовательность:

myLine(100) -> 7 14 21 28 35 42 49 56 63 70 77 84 91 98 

4. Последовательность (1000) #

Необходимо вывести на консоль такую последовательность чисел:

mySecondLine(1000) -> 1 2 4 8 16 32 64 128 256 512 

5. 4 Буквы в строке #

Вывести каждую букву американского алфавита от A-Z по 4 буквы в строке.

6. Ряд Фибоначчи #

Выведите на экран первые 11 членов последовательности Фибоначчи.

  • первый и второй члены последовательности равны единицам
  • а каждый следующий — сумме двух предыдущих
  • То есть числа Фибоначчи — это 1 1 2 3 5 8 13 21 34 55 89 и т.д.

7. Числовой палиндром #

Дано целое трехзначное число. Написать метод, который возвращает число, записанное в обратном порядке, например:

8. Сумма разрядов #

Дано целое трехзначное число. Написать метод, который возвращает сумму разрядов этого числа, например:

9. Делится на 11 #

Найдите в заданном диапазоне хотя бы одно натуральное число, которое делится на 11, а при делении на 2, 3, 4, …, 10 дает в остатке 1.

findDigits(99999, 11) -> 25201, 52921, 80641 

10. Степень числа #

Возведите число n во вторую степень. Не используя арифмитический оператор умножения.

digitPowTwo(5) -> 25 digitPowTwo(10) -> 100 digitPowTwo(4) -> 16 

11. Чёт/нечет разрядов #

Дано целое трехзначное число. Написать метод, который определит чётность/ нечётность разрядов этого числа, например: 123 -> 1 – нечет. 2- чёт. 3-нечет. 768 -> 1 – нечет. 2- чёт. 3-чет.

12. Повторяка номер n #

реализовать метод, который выводит на экран заданную строку N раз. printLineNtimes(“hello”,3) -> hello hello hello

13. Обратный отсчёт #

Реализовать метод “ Обратный отсчёт ” который выводит на экран цифры от n до 1, затем выводит строку „start“. countdown(5) -> 5 4 3 2 1 start

Читайте также:  Заполнение пропусков методом ближайших соседей python

14. Обратный отсчёт — start #

реализовать метод “Обратный отсчёт” который выводит на экран цифры от 5 до 1 текстом, затем выводит строку “start”. countdownStart() -> five four tree two one start

15. Буква ‘я’ #

Буква “Я” воистину великая буква. И все слова в которых есть это буква являются великими. Напишите метод, который находит великие слова.

16. Палиндром #

Написать свой метод проверки строки на палиндром.
Учесть, что палиндром может быть предложением с пробелами.
При решении задачи используйте цикл.

Нельзя использовать методы replace(), reverse() и конструкции, которые вы не учили.

checkPalindrom( "А роза упала на лапу Азора") -> true checkPalindrom( "поп") -> true checkPalindrom( "школа") -> false 

17. Шифрование Цезаря #

Разработайте шифровальную машину для нового клиента фирмы — Гая Юлия Цезаря.

Клиент придумал шифровальный алгоритм и хочет, что бы мы реализовали его в методе.
Пример выполнения метода:

enigmaCaesar("Съешь же ещё этих мягких французских булок, да выпей чаю.") -> "Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб." 

О самом методе шифрования(шифр подстановки) написана подробная документация, которая доступна по ссылке.

18. Дешифратор Цезаря #

Написать программу, которая производит дешифровку сообщений, зашифрованных предыдущим методом enigmaCaesar

19. Генератор паролей #

Давайте напишем генератор паролей. Методу передаётся длина пароля. И метод генерирует пароль используя латиницу, цифры и некоторые спецсимволы(на ваш выбор). Подсказка — использовать только те знания, которые были уже изучены. Существует как минимум два(на самом деле 222) разных подхода к решению этой проблемы. Не бойтесь пробовать.

Источник

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(); > > >

В цикле программа просит у пользователя ввести два числа и выводит результат их умножения.

Читайте также:  Средства разработки php приложений

После вывода результата умножения программа спрашивает, надо ли завершить выполнение. И если пользователь введет число 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(); > >

Источник

Задачи на циклы

Ниже даётся детальное объяснение простых задач в помощь тем, кто ранее не программировал и только делает свои первые шаги в программировании. Изучив их, Вам будет легче перейти к более сложным задачам — уровень сложности 2.

Задача №1

Необходимо вывести на экран числа от 1 до 5. На экране должно быть:

Комментарии к задаче:

Как видно из условия, числа увеличиваются от 1 до 5 с шагом 1. Есть определенная закономерность, не так ли? А значит, необходимо использовать цикл . Осталось только понять какой именно цикл нужно использовать? Мы точно знаем, что числа будут увеличиваться от 1 до 5. А раз мы точно знаем сколько раз будет повторяться цикл, можем использовать цикл for.

Пишем строчку с конструкцией цикла for:

А чтобы после каждого шага кода выводить новое значение переменной, мы написали вот эту строчку:

Поскольку нам необходимо вывести числа строчкой: 1 2 3 4 5 мы используем System.out.print ()

Если бы мы использовали System.out.println(); числа бы были выведены на экран вот так:

Обязательно обращайте внимание на то, чтобы количество скобок открывающих < и закрывающих >совпадало. В нашем случае 3 открывающие и 3 закрывающие скобки.

Читайте также:  Gd library php установка

Задача №2

Необходимо вывести на экран числа от 5 до 1. На экране должно быть:

Комментарии к задаче:

Как видно из условия, числа уменьшаются от 5 до 1 с шагом 1. Есть определенная закономерность, не так ли? А значит, необходимо использовать цикл . Вопрос какой? Мы точно знаем, что числа будут уменьшаться от 5 до 1. А раз точно знаем сколько раз будет повторяться цикл, можем использовать цикл for.

Пишем строчку с конструкцией цикла for:

  • int i = 5; — это начальное значение переменной
  • i >=1; — это условие, при котором будет выполняться цикл
  • i- — декремент, то есть уменьшение переменной на 1. С 5 до 4, с 4 до 3, с 3 до 2, с 1 до 1

А с помощью этой строчки выводим на консоль значения переменной

Мы используем System.out.print (); поскольку нам необходимо вывести числа строчкой: 5 4 3 2 1

Если бы мы использовали System.out.println(); числа бы были выведены на экран вот так:

И снова напоминаем, обязательно обращайте внимание на то, чтобы количество скобок открывающих < и закрывающих >совпадало. В нашем случае снова 3 открывающие и 3 закрывающие скобки.

Задача №3

Необходимо вывести на экран таблицу умножения на 3:

Разберем вот эту строчку с помощью которой мы выводим значения на консоль

Комментарии к задаче:

Сначала мы должны предложить пользователю ввести любое целое положительное число. Это мы делаем с помощью этой строчки:

Чтобы считать с консоли введенное пользователем число, нам нужен сканер. Поэтому мы выполняем 3 шага.

Шаг №1 — подключаем сканер из библиотеки java.util с помощью этой строчки

Шаг №2 — объявляем сканер

Шаг №3 — считываем с консоли введённое целое число. Для этого используем метод nextInt ()

В условиях задачи сказано, что числа будут суммироваться от 1 до введённого пользователем числа. Не кажется ли Вам, что это цикл? Да, конечно же это цикл. Причем мы заранее знаем сколько раз будут суммироваться числа: от 1 до n, где n – введённое пользователем число. А значит нам надо использовать цикл for.

Пишем строчку с конструкцией цикла for:

По условию задачи, нам надо суммировать числа от 1 до n. Для этого перед циклом мы объявляем переменную int sum и присваиваем ей значение 0:

В переменную sum будут суммироваться числа с помощью цикла for

Далее с помощью этой строчки выводим результат суммирования на консоль

Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля.

Или читайте информацию по нашим курсам Java c нуля у нас на сайте.

Источник

Оцените статью