Подскажите, пожалуйста, почему в первом цикле, где заданы условия i <= 9; выводится 10 символов и во втором цикле, где заданы условия j < 9 выводится 10 символов, а не 9? Сначала попробовала привести идентичные условия, но программа приняла только такой вариант решения.
public class Solution {
public static String bug = "🐛";
public static String robot = "🤖";
public static String land = "🌍";
public static String death = "💀";
public static String hole = " ";
public static void main(String[] args) {
for (int i = 0; i <= 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(land);
}
System.out.println(land);
}
}
}
VikaM
5 уровень
Спойлер: правильное решение
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Эдисон
18 марта 2024, 08:28
Во внешнем цикле в конце стоит println, а он сначала выводит и потом уже делает Entern. (с новой строки будет следующий вывод после println)
Этот вывод становится 10-ым знаком и делает Entern для следующей линии.
Поэтому если вы в коде используете print затем println и затем снова print, то 2 первых вывода сольются,а не 2 последних.
У меня до Java был Python, поэтому я тоже споткнулся на одной из прошлых задач)
+1
Константин
1 сентября 2022, 08:14
В такой конфигурации получается, что внешний цикл выводит тебе десять строк с одним символом "land"
Т.е.
🌍
🌍
🌍
🌍
🌍
🌍
🌍
🌍
🌍
🌍
А внутренний цикл добавляет определенное количество символов к каждой из этих строк, т.е. в цикле 9 символов, добавляется к каждой строке по 9, 9+1 = 10.
Если цикл на 10 сделать и тот, и тот, то уже будет 11 столбиков и 10 строк
Если внешний цикл будет задействован только как своеобразный конструктор пустых строк, т.е. без land в самом конце, то можно делать внешний цикл на 10 пустых строк и внутренний на 10 символов, которые добавляются к пустым строкам
public class Solution {
public static String bug = "🐛";
public static String robot = "🤖";
public static String land = "🌍";
public static String death = "💀";
public static String hole = " ";
public static void main(String[] args) {
for (int i = 0; i <= 9; i++) {
for (int j = 0; j <= 9; j++) {
System.out.print(land);
}
System.out.println();
}
}
}
0