wseng Ответов: 3

Как отобразить паттерны с помощью петель


У меня есть следующий вопрос:
Используйте вложенные циклы, отображающие следующие шаблоны
  *
 ***
*****
 ***
  *


Что я уже пробовал:

for (int i = 0; i < 5; i++) {
    for (int j = 0; j <= i * 2; j++) {
         System.out.print("*");
	}
         System.out.println();
	}

3 Ответов

Рейтинг:
20

CPallini

public class Diamond
{
  public static void main( String args[] )
  {
    int N = Integer.parseInt(args[0]);
    int row, col;
    for (row=-N; row<=N; ++row)
    {
      for (col=-N; col<=N; ++col)
      {
        char c = Math.abs(col) + Math.abs(row) <= N ? '*' : ' ';
        System.out.print(c);
      }
      System.out.println();
    }
  }
}


wseng

спасибо за ответ, он чистый и короткий !

CPallini

Добро пожаловать.

Рейтинг:
11

wseng

Это и есть ответ

for (int i = 1; i < 5; i += 2) {
			for (int j = 0; j < 4 - i / 2; j++)
				System.out.print(" ");

			for (int j = 0; j < i; j++)
				System.out.print("*");

			System.out.println();
		}

		for (int i = 5; i > 0; i -= 2) {
			for (int j = 0; j < 4 - i / 2; j++)
				System.out.print(" ");

			for (int j = 0; j < i; j++)
				System.out.print("*");

			System.out.println();
		}


Рейтинг:
1

Patrice T

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

Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, которые вы испытываете при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по исправлению положения.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это похоже на попытку научиться водить машину, обучая кого-то другого.
Создание алгоритма - это в основном поиск математики и необходимая адаптация к вашей реальной проблеме.

[Обновление]
Интересная ссылка:
stanford.edu: учитесь программировать[^]


wseng

Это не домашнее задание, я сам учусь и нахожу упражнения для выполнения.

Patrice T

это домашнее задание, данное вами.
обратите внимание на первые 2 строчки в моем ответе.

wseng

Спасибо за ваш ответ, но я не думаю, что это следует писать как ответ

Patrice T

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

wseng

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

Patrice T

Рассмотрим вторую половину в виде перевернутого треугольника.
Метод проб и ошибок-хороший способ учиться.

wseng

Спасибо, я решил эту проблему

Patrice T

Приятно видеть.
Придумав решение самостоятельно, я уверен, что вы узнали гораздо больше, чем если бы я дал вам решение волшебным образом.
Во - первых, вы можете сделать это сами.

wseng

ты прав.