Вывести треугольник из звездочек java

Треугольник из звёздочек: Рисуем в Java

Автор: yasidoch
Дата записи

Рассмотрим способы, которыми можно нарисовать треугольник в Java из чисел или других символов. Приведу пару примеров кода. Чтобы не оказывать медвежью услугу тем, кто ищет помощь в решении, но хочет все-таки решить самостоятельно, первый вариант будет наглядным, а еще один — в виде инструкции-объяснения.

Пример 1. Рисуем треугольник. Используем String и цикл for.

Объявляем переменную s типа String, запускаем цикл от 0 до 9 включительно, выводим на экран переменную s до тех пор, пока i будет меньше 9. Первая итерация: i=0, следовательно выводим на печать *. Вторая итерация: i=1, следовательно выводим на печать s + «*», а это уже два символа.

Таким образом совершается 10 проходов

И в результате мы получаем следующее:Вывести треугольник из звездочек javaВ случае, если мы хотим перевернуть треугольник, мы меняем цикл. Подумайте, что надо изменить, чтобы перевернуть треугольник.

Пример 2. При помощи двух циклов for.

Первый проход внешнего цикла: i=0;

Внутренний цикл: j = 0;

«j» меньше или равно «i» ? Если «Да», то добавляем к «j» единицу, выводим «*» .

Теперь j=1. «j» все еще меньше или равно «i» ?
Нет, завершаем внутренний цикл.

Внешний цикл: i=0 ; «i» меньше 10 ? Ответ «Да», добавляем к «i» единицу, переносим строчку.

Итог после первой итерации: *
Вторая итерация внешнего цикла: i=1
Внутренний цикл: j = 0;
«j» меньше или равно «a» ?
Да, добавляем к «j» единицу, выводим «*».
Теперь j=1. «j» все еще меньше или равно «i» ?

Да, добавляем к «j» единицу, печатаем еще одну «*» .
Теперь j=2.
«j» все еще меньше или равно «i» ? Нет, закончили внутренний проход.

Внешний цикл: i=1 ; «i» меньше 10 ? «Да», добавляем к «i» единицу, переносим строчку. Теперь i=2.

Итог после второй итерации:
*
**

Это описание принципа действия программы Java, написанной при помощи двух циклов for. Сперва выполняется внутренний цикл, за ним внешний. После каждой проверки условия внешнего цикла for внутренний цикл «сбрасывается».

Видео:JavaScript v.2.0 Циклы While и Do whileСкачать

JavaScript v.2.0 Циклы While и Do while

Создание треугольника с циклами for в Java

Изучите несколько способов печати треугольников в Java с помощью циклов for.

  • Автор записи

Автор: Catalin Burcea
Дата записи

Видео:КАК НАРИСОВАТЬ ТРЕУГОЛЬНИК В КОНСОЛИ C# | C# ДОМАШНИЕ ЗАДАНИЯ | #5Скачать

КАК НАРИСОВАТЬ ТРЕУГОЛЬНИК В КОНСОЛИ C# | C# ДОМАШНИЕ ЗАДАНИЯ | #5

1. введение

В этом уроке мы рассмотрим несколько способов печати треугольника на Java.

Естественно, существует много типов треугольников. Здесь мы рассмотрим только несколько из них: правый и равнобедренный треугольники.

Видео:Java - урок 5.3 (Практика - построение пирамиды)Скачать

Java - урок 5.3 (Практика - построение пирамиды)

2. Построение прямоугольного треугольника

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

Здесь мы замечаем, что треугольник состоит из 5 рядов, каждый из которых имеет количество звезд, равное текущему номеру строки. Конечно, это наблюдение можно обобщить: для каждой строки от 1 до N мы должны вывести r звезды , где r – текущая строка и N – общее количество строк.

Итак, давайте построим треугольник, используя две петли for :

Видео:7.1 Звездный треугольник. "Поколение Python": курс для начинающих. Курс StepikСкачать

7.1 Звездный треугольник. "Поколение Python": курс для начинающих. Курс Stepik

3. Построение Равнобедренного треугольника

Теперь давайте посмотрим на форму равнобедренного треугольника:

Что мы видим в этом случае? Мы замечаем, что, в дополнение к звездам, нам также нужно напечатать несколько пробелов для каждой строки. Итак, мы должны выяснить, сколько пробелов и звездочек мы должны напечатать для каждой строки. Конечно, количество пробелов и звездочек зависит от текущей строки.

Во-первых, мы видим, что нам нужно напечатать 4 пробела для первой строки, и, когда мы спускаемся по треугольнику, нам нужно 3 пробела, 2 пробела, 1 пробел и вообще никаких пробелов для последней строки. Обобщая, нам нужно напечатать N – r пробелы для каждой строки .

Во-вторых, сравнивая с первым примером, мы понимаем, что здесь нам нужно нечетное количество звезд: 1, 3, 5, 7…

Итак, нам нужно напечатать r x 2 – 1 звезды для каждой строки .

3.1. Использование вложенных циклов for

Основываясь на приведенных выше наблюдениях, давайте создадим наш второй пример:

3.2. Использование одного цикла for

На самом деле, у нас есть другой способ, который состоит только из одного для цикла – он использует библиотеку Apache Commons Lang 3 .

Мы собираемся использовать цикл for для перебора строк треугольника, как мы делали в предыдущих примерах. Затем мы будем использовать метод StringUtils.repeat () , чтобы сгенерировать необходимые символы для каждой строки:

Или мы можем проделать ловкий трюк с методом substring ()|/.

Мы можем извлечь методы StringUtils.repeat() выше, чтобы построить вспомогательную строку, а затем применить к ней метод String.substring () . Вспомогательная строка-это конкатенация максимального количества пробелов и максимального количества звезд, которые нам нужны для печати строк треугольника.

Глядя на предыдущие примеры, мы замечаем, что нам нужно максимальное количество N – 1 пробелов для первой строки и максимальное количество N x 2 – 1 звезды для последнего ряда:

Например, когда N и r , нам нужно напечатать ” *****”, который включен в переменную helperString . Все, что нам нужно сделать, это найти правильную формулу для метода substring () .

Теперь давайте рассмотрим полный пример:

Точно так же, немного поработав, мы могли бы перевернуть треугольник вверх ногами.

Видео:Java - цикл for; вложенные циклы for; использование forСкачать

Java - цикл for; вложенные циклы for; использование for

4. Сложность

Если мы еще раз взглянем на первый пример, мы заметим, что внешний цикл и внутренний цикл имеют максимум N шагов. Следовательно, у нас есть O(N^2) временная сложность, где N – количество строк треугольника.

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

В третьем примере, однако, используется только цикл for с N шагами. Но на каждом шаге мы вызываем либо метод StringUtils.repeat () , либо метод substring() в вспомогательной строке, каждый из которых имеет O(N) сложность. Таким образом, общая временная сложность остается прежней.

Наконец, если мы говорим о вспомогательном пространстве, мы можем быстро понять, что для всех примеров сложность остается в переменной StringBuilder . Добавляя весь треугольник к переменной result , мы не можем иметь меньше O(N^2) сложности.

Конечно, если бы мы непосредственно печатали символы, у нас была бы постоянная сложность пространства для первых двух примеров. Но в третьем примере используется вспомогательная строка, и сложность пространства будет O(N) .

Видео:Java для начинающих. Урок 5: Цикл for.Скачать

Java для начинающих. Урок 5: Цикл for.

5. Заключение

В этом уроке мы узнали, как печатать два распространенных типа треугольников в Java.

Во-первых, мы изучили прямоугольный треугольник, который является самым простым типом треугольника, который мы можем напечатать на Java. Затем, мы исследовали два способа построения равнобедренного треугольника. Первый использует только для циклов, а другой использует преимущества метода StringUtils.repeat() и String.substring() и помогает нам писать меньше кода.

Наконец, мы проанализировали сложность времени и пространства для каждого примера.

Как всегда, все примеры можно найти на GitHub .

Видео:Java уроки - Циклы (for, while, do while) #7 | Java для начинающихСкачать

Java уроки - Циклы (for, while, do while) #7 | Java для начинающих

Вывод фигуры из звездочек

Вывести треугольник из звездочек javaВывести треугольник из звездочек javaВывести треугольник из звездочек javaВывести треугольник из звездочек javaВывести треугольник из звездочек javaВывести треугольник из звездочек java

Данная статья написана командой Vertex Academy. Это одна из статей из нашего «Самоучителя по Java.»

Условие задачи:

Необходимо написать программу, которая бы вывела в консоль звездочки вот таким образом, как на картинке ниже.

Вывести треугольник из звездочек java

Решение:

Если Вы запустите данный код, то увидите в консоли:

Комментарии к задаче:

Приступая к решению данной задачи, необходимо разбить задачу на подзадачи.

Шаг №1 — необходимо создать ряд из 5 звездочек с помощью цикла for.

Шаг №2 — вывести ряд из звездочек 3 раза с помощью еще одного цикла for.

То есть у нас будут вложенные циклы.

Вывести треугольник из звездочек java

Поэтому с помощью этого цикла for

мы выводим 5 звездочек в ряд. И далее как бы «вкладываем» этот цикл в другой, который позволит нам вывести 3 раза 5 звездочек в ряд:

Вот и вся задача 🙂

Надеемся — наша статья была Вам полезна. Есть возможность записаться на наши курсы по Java. Детальную информацию смотрите у нас на сайте.

📺 Видео

Уроки Java для начинающих | #8 - Циклы (For, While, Do while)Скачать

Уроки Java для начинающих | #8 - Циклы (For, While, Do while)

Урок 6 - Интерфейс Iterator (прокачанная Java)Скачать

Урок 6 - Интерфейс Iterator (прокачанная Java)

Уроки Java для начинающих #10 / Цикл whileСкачать

Уроки Java для начинающих #10 / Цикл while

Java уроки для начинающих #14 | Цикл forСкачать

Java уроки для начинающих #14 | Цикл for

Java - Как прочувствовать циклы - ГрафоциклыСкачать

Java - Как прочувствовать циклы - Графоциклы

Java для начинающих. Урок 23(продолжение): Форматирование строк в JavaСкачать

Java для начинающих. Урок 23(продолжение): Форматирование строк в Java

Java урок - 8.1 Класс Math и тригонометрические методыСкачать

Java урок - 8.1 Класс Math и тригонометрические методы

#26. Треугольник Паскаля как пример работы вложенных циклов | Python для начинающихСкачать

#26. Треугольник Паскаля как пример работы вложенных циклов | Python для начинающих

Java урок - 8.3.2 String методы indexOf, lastIndexOfСкачать

Java урок - 8.3.2 String методы indexOf, lastIndexOf

Уроки Java с нуля / #5 – Данные от пользователя. Математические действияСкачать

Уроки Java с нуля / #5 – Данные от пользователя. Математические действия

41. Вложенные циклы for. Уроки оп JavaСкачать

41. Вложенные циклы for. Уроки оп Java

Варианты создания потоков (прокачанная Java)Скачать

Варианты создания потоков (прокачанная Java)

Java для начинающих. Урок 41: Абстрактные классы.Скачать

Java для начинающих. Урок 41: Абстрактные классы.
Поделиться или сохранить к себе: