Задать вопрос
PRAIT
@PRAIT

Как понять почему рисуются определенные фигуры циклами?

Всем привет ребята, вот никак не могу понять принцип работы цикла FOR. Вернее я понимаю как он работает и для чего он нужен, знаю что есть внешний и внутренний цикл. Внешний читает вертикаль, внутренний горизонталь.
Но вот не могу понять как реализовывать всякие фигуры, например ромбики, квадратики с пустой срединой и т.д.

import java.util.Scanner;

public class Test {

  public static void main(String[] args) {
    try (Scanner tru = new Scanner(System.in)) {
      int count = 10;
      for (int i = 0; i < count; i++) {
        for (int k = 0; k < count; k++) {
          if (k == 0 || k == count - 1 || i == 0 || i == count - 1) {
            System.out.print("*");
          } else {
            System.out.print(" ");
          }
        }
        System.out.println(" ");
      }
    }
  }
}


Тут у нас 2 цикла FOR
Внешний с переменной I
Внутренний с переменной K

При запуске программы внешний цикл отдаёт 1 свою итерацию тогда как внутренний отдаст все свои итерации, так?
1 строка
#**********
# - Внешний цикл
* - Внутренний

Далее, K меньше COUNT? Нет, переходим к внешнему циклу

Далее исполняется снова внешний цикл
Далее очередь внутреннего цикла, идут пробелы это вторая строчка
Но почему эти пробелы не идут например в первой строчке?

if (k == 0 || k == count - 1 || i == 0 || i == count - 1)

Я не могу понять эту строчку, тут K == 0 но в первой строчке K тоже равно нулю, почему нет пробелов?
k == count - 1 - получается если k == 9 будут выставлены пробелы? Вообще запутался что то ((
Помогите пожалуйста раскидать все по полочкам, буду благодарен!!


#********#
# #
# #
# #
# #
# #
# #
# #
# #
#********#
  • Вопрос задан
  • 496 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы