Всем привет ребята, вот никак не могу понять принцип работы цикла 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 будут выставлены пробелы? Вообще запутался что то ((
Помогите пожалуйста раскидать все по полочкам, буду благодарен!!
#********#
# #
# #
# #
# #
# #
# #
# #
# #
#********#