JavaRush/Курсы/Java Syntax Pro/Примеры использования цикла for

Примеры использования цикла for

Открыта

1. Подсчет количества введенных строк с помощью цикла for

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

Код Пояснение
Scanner console = new Scanner(System.in);
int count = 0;
for (int i = 0; i < 10; i++)
{
   if (console.hasNextInt())
      count++;
   console.nextLine();
}
System.out.println(count);
Создаем объект Scanner для чтения данных с консоли.
В переменной count будем хранить количество чисел.
Цикл от 0 до 10 (не включая 10).

Если в консоли ввели число,
то увеличиваем count на единицу.
Считываем строчку из консоли и никуда ее не сохраняем.

Выводим подсчитанную сумму на экран.
Примечание

Если в строке есть несколько слов, разделенных пробелами, и первое из них — число, метод hasNextInt() вернет true, даже если остальные слова будут не числами. Поэтому наша программа будет правильно работать, только если в каждой строке написано не больше одного «слова».


2. Вычисление факториала с помощью цикла for

Давайте напишем программу, которая ничего не вводит, а скажем, что-нибудь вычисляет. Что-то сложное. Например, факториал числа 10.

Факториалом числа n (обозначается n!) называется произведение ряда чисел: 1*2*3*4*5*..*n;

Код Пояснение
int f = 1;
for (int i = 1; i <= 10; i++)
   f = f * i;
System.out.println(f);
В переменной f будем хранить произведение чисел.
Цикл от 1 до 10 (включительно).
Умножаем f на очередное число (результат сохраняем в f).
Выводим подсчитанную сумму на экран.

Стартовое значение f = 1, т.к. мы умножаем f на числа. Если бы f изначально было 0, произведение всех чисел на 0 дало бы 0.


3. Рисуем на экране с помощью цикла for

Давайте напишем программу, которая рисует на экране треугольник: в первой строчке выводит 10 звездочек, во второй — 9 звездочек, затем 8, и т.д.

Код Пояснение
for (int i = 0; i < 10; i++)
{
   int starCount = 10 - i;
   for (int j = 0; j < starCount; j++)
      System.out.print("*");
   System.out.println();
}
Цикл по строкам (всего должно быть 10 строк).

Вычисляем, сколько в строке должно быть звездочек.
Цикл по звездочкам
(выводим starCount звездочек).
Добавляем перенос курсора на следующую строку, чтобы строки не слиплись.

У нас тут должно быть два вложенных цикла — внутренний цикл должен выводить правильное количество звездочек в строке.

А внешний цикл нужен для переключения по строкам.



Комментарии (427)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Lena
Уровень 10
20 декабря 2025, 21:33
public class Solution { public static void main(String[] args) { //напишите тут ваш код for(int i = 1; i<=10; i++){ for(int j = 0; j<i; j++){ System.out.print(8); } System.out.println(); } } }
26 ноября 2025, 12:44
Работаем
4 февраля, 11:48
👌
anton sagemode
Уровень 10
19 ноября 2025, 15:55
Второй пример по использованию цикла 2. Вычисление факториала с помощью цикла for Пояснение, последняя строка "Выводим подсчитанную сумму на экран." Думаю должно быть - "Выводим подсчитанное произведение на экран."
Сергей
Уровень 10
30 сентября 2025, 17:57
Задача медиум, а решается легко) Может мне только легко или уже приходит понимание всей этой кухни... но самое главное не расслабляться, так как дальше будет еще интереснее и труднее🤞
17 августа 2025, 09:43
не точные условия задачи. Мой код тоже даёт прямоугольный треугольник.
public class Solution {
    public static void main(String[] args) {
        for (int i=0; i<10; i++)
        {
            int y = 10-i;
            for (int z=0; z<y; z++){
            System.out.print("8");
        }
            System.out.println();
        }
    }
}
invoker main
Уровень 42
4 сентября 2025, 13:41
мужик, он у тебя перевернут
kity9i
Уровень 5
27 июля 2025, 12:25
В лекции - в коде ошибка, если хотим получить треугольник из звездочек, то перенос строчки должен выноситься из второго блока for, тогда треугольник получиться, иначе каждая звезда будет с новой строчки for (int i = 0; i < 10; i++) { int starCount = 10 - i; for (int j = 0; j < starCount; j++) { System.out.print("*"); } System.out.println(); }
Gris Hiver
Уровень 1
29 июля 2025, 12:21
В лекции нет ошибки. Внимательно посмотрите на отступы. Цикл for может состоять из одной команды, тогда не нужны фигурные скобки.
Магомед
Уровень 7
16 сентября 2025, 15:24
Мне тоже стало это интересно почему System.out.print("*"); и System.out.println(); выполняются разное количество раз : System.out.print("*"); выполняется 55 раз , а System.out.println(); всего 10 раз. Оказывается System.out.print("*"); относится к внутреннему циклу ( for (int j = 0; j < starCount; j++)) , а System.out.println() к внешнему (for (int i = 0; i < 10; i++)). А ВСЕ ПОТОМУ , что если после управляющей конструкции (if, for, while, do...while, else) НЕТ фигурных скобок {}, то к ней относится только одна следующая инструкция (строка)
Кирилл Орлов
Уровень 6
22 июля 2025, 13:19
в будущем придется много гуглить)
"8".repeat(i)
Александр
Уровень 2
14 сентября 2025, 16:22
for(int i = 1; i <= 10; i++) { System.out.println("8".repeat(i));
Магомед
Уровень 7
16 сентября 2025, 15:28
Я тоже наткнулся в интернете на такое решение Наверное стоит где-нибудь записать этот метод
31 мая 2025, 13:59
for (int i = 1; i<=10; i++){
			for (int j = 0; j<i;  j++)
			       System.out.print("8");
			System.out.println();
			}
Anonymous #3585174
Уровень 33
30 мая 2025, 13:49
good!
Raushan
Уровень 16
Expert
23 мая 2025, 13:05
Странно, задача засчиталась верной, но кажется не совсем правильно public class Solution { public static void main(String[] args) { for (int i = 0; i < 10; i ++){ for (int a = 0; a < i; a ++){ System.out.print("8"); } System.out.println("8"); } } }
I_no.nick_I
Уровень 8
22 июля 2025, 18:00
прикольное решение
Eugene Volkov
Уровень 35
8 сентября 2025, 17:02
по идее весь треугольник будет смещен вниз на одну стррочку, а ввезху аппендикс из одной 8.