JavaRush /Курси /Java Syntax Zero /Приклади використання циклу for

Приклади використання циклу for

Java Syntax Zero
Рівень 4 , Лекція 7
Відкрита

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).
Додаємо команду переведення курсора на наступний рядок, щоб рядки не злиплися.

У нашій програмі має бути два вкладених цикли — внутрішній цикл, який має виводити відповідну кількість зірочок у рядку,

і зовнішній цикл, який переводить виведення на наступний рядок.


Коментарі (14)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Gansuta Рівень 7
4 серпня 2023
for (int i =0;i<10;i++) { int starCount = 1 + i; //треба просто було поміняти 10-і на 1+і ? for (int j = 0; j < starCount; j++) System.out.print("8"); System.out.println(); }
hidden #3500645 Рівень 30
17 жовтня 2024
Я от теж задалась цим питанням, я вирішила задачу ось так:

public class Solution {
	public static void main(String[] args) {
        for (int line = 0; line < 10; line++) 
        {
            int count = 1+line;
        	for (int eight = 0; eight < count; eight++) 
            {
                System.out.print("8");
            }
            System.out.println();
        }
    }
}
Але правильну відповідь якщо відкрити, то зовсім інший варіант показує. Головне, напевно, що результат однаковий.
Vitalii Рівень 11
28 липня 2023

package ua.javarush.task.pro.task04.task0413;

/* 
Креслимо трикутник
*/

public class Solution {
    public static void main(String[] args) {
        for(int i = 1; i <= 10; i++){
            System.out.println( "8".repeat(i) );
        }
    }
}
Ivan Maksymovych Рівень 1 Expert
4 серпня 2023
Так же сделал, сразу эта идея пришла в голову)) Сразу после того как сделал зашел и увидел твое решение тут 😁
Roma Chernesh Рівень 16
2 грудня 2022
ходив на платні курси, де ось такі ж задачі давали роз'язувати типу "намалюй фігуру з зірочок". Тому ті, хто ще можуть безкоштовно начатись - цініть! Контент що там, що тут однаковий :)
Dmytro Рівень 26
3 червня 2024
бесплатно нынче нет ничего
Grimnir Рівень 28
11 листопада 2022
В реальній задачі, мабуть треба було б ще за циклом додатково прописати, що факторіал 0! = 1.
Anonymous #3118922 Рівень 6
16 липня 2022
У змінній f будемо зберігати добуток чисел. Цикл від до (включно). Множимо на чергове число (результат зберігаємо у ). Виводимо отриманий добуток на екран. 1 10 f f Ох і застряг я тут))))
Костянтин Рівень 1
4 квітня 2022
У вас помилка в другому розділі в прикладі. Ви пишете: в поясненні: У змінній f будемо зберігати добуток чисел. Цикл від до (включно). Множимо на чергове число (результат зберігаємо у ). Виводимо отриманий добуток на екран. 1 10 f f Хоча, на справді, буде виведене число 3628800
Lucky Рівень 7
6 квітня 2022
А підкажи, будьласка, звідки тут взялося 10 на другому виводі? На другому колі в циклі і = 2, то ж f = 1 * 2, тобто 2. Звідки береться - 10?
Костянтин Рівень 1
10 квітня 2022
Та я звідки знаю? Там помилка автора
Rena Рівень 8
5 травня 2022
То не результати дій, то, мабуть, в тексті просто з'їхали позначення "від 1 до 10"
Nubmaster69 Рівень 8
14 травня 2022
Згоден з вами, там помилка. Я прописав код, у прикладі, в середовищі IntelliJ IDEA, як результат безкінечна кількість нулів.
MaksLem Рівень 2
25 червня 2022
У змінній f будемо зберігати добуток чисел. Цикл від 1 до 10 (включно). Множимо f на чергове число (результат зберігаємо у f ). Виводимо отриманий добуток на екран.