Рисуем треугольник в Java
В прошлой статье я писал, как нарисовать круг в Java, сегодня решил продолжить тему и написать как рисовать треугольник в Java. Мы будем использовать AWT (Abstract Window Component Toolkit), один из первых пакетов разработки Java для графических приложений. Swing — это новый набор виджетов GUI для Java, основанный на AWT и имеющий больше функциональности.
539 показов
245 открытий
Используем java.awt и javax.swing с Path2D для рисования треугольника в Java
Используем JFrame в классе main для создания главного окна, где добавляются компоненты, такие как кнопки, текстовые поля, для создания GUI (графического пользовательского интерфейса). Класс Draw_A_Triangle расширяет JPanel, который является легким контейнером, используемым для организации компонентов GUI. JPanel добавляется к JFrames с помощью метода frame.add().
Класс Triangle_Shape расширяет класс Path2D, который представляет собой простую, но гибкую форму, представляющую произвольный геометрический путь. Мы размещаем первую точку с помощью метода moveTo() и дополнительные точки с помощью метода LineTo(). Метод close() гарантирует правильное закрытие треугольника.
Метод paintComponent() вызывается автоматически при создании панели или когда пользователь делает что-то в пользовательском интерфейсе, что требует перерисовки. Graphics2D обеспечивает больше контроля над управлением цветами, геометрией и макетом текста. Наконец, мы используем g2d и вызываем draw для рисования треугольника.
Roman82 / Используя цикл for вывести на экран прямоугольный треугольник из восьмёрок со сторонами 10 и 10.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| package com.javarush.test.level04.lesson13.task03; |
| import java.io.*; |
| /* Рисуем треугольник |
| Используя цикл for вывести на экран прямоугольный треугольник из восьмёрок со сторонами 10 и 10. |
| Пример: |
| 8 |
| 88 |
| 888 |
| . |
| */ |
| public class Solution |
| public static void main(String[] args) throws Exception |
| //напишите тут ваш код |
| String s = «8»; |
| for (int count = 0; count < 10; count++) |
| System.out.println(s); |
| s = s + 8; |
| > |
| > |
| > |
xduocores commented Aug 9, 2016
package com.javarush.test.level04.lesson13.task03; import java.io.*; /* Рисуем треугольник Используя цикл for вывести на экран прямоугольный треугольник из восьмёрок со сторонами 10 и 10. Пример: 8 88 888 . */ public class Solution < public static void main(String[] args) throws Exception < for (int i = 1; iSystem.out.println(); > > >
korostelevss commented Aug 22, 2016
такое решение тоже проходит
`public class Solution < public static void main(String[] args) throws Exception < for (int i=1;i<11;i++)< for (int j=1;j<11;j++)< if (i==j-1)< break; >System.out.print("8"); > System.out.println(""); > > >`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Footer
© 2023 GitHub, Inc.
You can’t perform that action at this time.
С помощью цикла for вывести треугольник
Нарисовать треугольник(елку) из символов * с помощью цикла while
Нарисовать треугольник (елку) из символов *, с помощью цикла while. Высоту выбирает пользователь.
Вывести треугольник из символов с использованием цикла for
Уже достаточно длительное время (в пределах часа) ломаю голову над тем, каким образом можно.
Вывести последовательность с помощью цикла for
Всем привет! Решаю тесты и возник опять вопрос. Имеется следующее задание: С помощью цикла for.
Как вывести с помощью цикла рисунок?
Привет всем! Такая проблема: С треугольниками разобрался- могу выводить с помощю цыклов разные и в.
2250 / 2216 / 478
Регистрация: 17.02.2019
Сообщений: 3,712
Сообщение от Parventa7 
выведет следующий треугольник используя *
так что ли
1 2 3 4 5 6 7 8
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim n As Integer = 8 ' n - число, сколько надо раз вывести. Dim Star As String = "" For a = 1 To n Star &= "* " TextBox1.AppendText(Star & vbCrLf) Next End Sub
Супер-модератор
6170 / 2912 / 1300
Регистрация: 04.03.2013
Сообщений: 5,773
Записей в блоге: 1
1 2 3 4 5 6 7 8 9 10
public class Solution { public static void main(String[] args) { int n = 8; String star = ""; for (int i = 0; i n; ++i) { star += "* "; System.out.println(star); } } }
3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435
Сообщение от Parventa7 
Нужно создать код из цикла for который выведет следующий треугольник используя *.
1 2 3
for (int i = 0; i 1; i++) { System.out.println("*\n* *\n* * *\n* * * *\n* * * * *\n* * * * * *\n* * * * * * *\n* * * * * * * *"); }
Добавлено через 52 секунды
IntStream.rangeClosed(1, 8).mapToObj("* "::repeat).forEach(System.out::println)
Добавлено через 3 минуты
Без лишних пробелов в конце:
IntStream.rangeClosed(1, 8).mapToObj(n -> Collections.nCopies(n, "*")).map(x -> String.join(" ", x)).forEach(System.out::println)
Am I evil? Yes, I am!
![]()
![]()
16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624
Arsegg,
IntStream.range(1,8).mapToObj(x->Stream.generate(()->"*").limit(x).collect(Collectors.joining())).forEach(System.out::println);
3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435
iSmokeJC, как вариант:
IntStream.rangeClosed(1, 8).boxed().flatMap(x -> Stream.concat(Stream.generate(() -> "* ").limit(x), Stream.of("\n"))).forEach(System.out::print)
P. S. Если не ошибаюсь, то должно требовать O(1) памяти.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Вывести все числа от 0 до 10, с помощью цикла while
Уже много лет я все пытаюсь с некоторой периодичностью выучить программирование, но у меня ничего.

Вывести сколько в списке пятерок, с помощью цикла for
Помогите. Дан список например: Надо вывести сколько пятерок в списке с помощью цикла for.

Вывести в файл 5 строчек текста с помощью цикла
Всем привет! Вообщем такая ситуация, что в информатике я чайник, которых надо еще поискать(((.

Вывести с помощью цикла столбец нечетных чисел от 1 до 100
Надо вывести с помошью цикла столбец нечетных чисел от 1 до 100

Вывести на окно с помощью вложенного цикла пирамидку из звёздочек
Вывести на окно с помощью вложенного цикла пирамидку из звёздочек. * ** *** .
С помощью цикла for вычислить и вывести на экран геометрическую прогрессию 1, 2, 4, 8, 16, 32
Доброго времени суток! Помогите решить задачу плз) напишите программу которая с помощью цикла for.
Как нарисовать треугольник в java
Прямоугольный треугольник-1
Прямоугольный треугольник-2
Треугольник с помощью циклов JAVA
Ромб с помощью циклов JAVA
public class geometric <
public static void main ( String [ ] args ) <
int rectangle = 5 ; //Прямоугольник
//Прямоугольник
for ( int i = 2 ; i < rectangle ; i ++ ) <
for ( int j = — 5 ; j < rectangle ; j ++ ) <
System . out . print ( «+» ) ;
System . out . println ( «*» ) ;
//1-й вариант Прямоугольного треугольника
for ( int i = 0 ; i < rectangle ; i ++ ) <
for ( int j = i ; j < rectangle ; j ++ ) <
System . out . print ( «+» ) ;
System . out . println ( » *» + i ) ;
//2-й вариант Прямоугольного треугольника
for ( int i = 0 ; i < rectangle ; i ++ ) <
for ( int j = rectangle ; j > i ; j — ) <
System . out . print ( «+» ) ;
System . out . println ( » *» + i ) ;
//3-й вариант Прямоугольного треугольника
for ( int i = rectangle ; i >= 0 ; i — ) <
for ( int j = i ; j <= rectangle ; j ++ ) <
System . out . print ( «+» ) ;
System . out . println ( » *» + i ) ;
//4-й вариант Прямоугольного треугольника
for ( int i = rectangle ; i >= 0 ; i — ) <
//Левое пустое пространство
for ( int j = i ; j <= rectangle ; j ++ ) <
System . out . print ( «+» ) ;
for ( int j2 = i ; j2 <= j ; j2 ++ ) <
System . out . print ( «-» ) ;
//Левая часть треугольника
for ( int j1 = 0 ; j1 <= i ; j1 ++ ) <
System . out . print ( » » ) ;
System . out . println ( » *» + i ) ;
//1-й вариант Треугольника
for ( int i = 0 ; i <= rectangle ; i ++ ) <
//Левое пустое пространство
for ( int j = rectangle ; j > i ; j — ) <
System . out . print ( » » ) ;
//Левая часть треугольника
for ( int j1 = 0 ; j1
System . out . print ( «+» ) ;
//Правая часть треугольника
for ( int j = 0 ; j < i ; j ++ ) <
