2016-10-06 1 views
-3

Может ли кто-нибудь объяснить основы печати простых шаблонов в Java?Печать простых шаблонов в Java

Я приведу один конкретный пример.

Мне просто хотелось бы, чтобы кто-то уточнил, что делает каждая строка, поэтому я лучше понимаю, как это работает. Любые другие объясненные примеры (строки за строкой) также будут оценены!

public static void drawPyramidPattern() { 
    for (int i = 0; i < 5; i++) { 
     for (int j = 0; j < 5 - i; j++) { 
      System.out.print(" "); 
     } 
     for (int k = 0; k <= i; k++) { 
      System.out.print("* "); 
     } 
     System.out.println(); 
    } 
} 
+0

Почему бы не использовать отладчик и пройти через него? –

+0

Делайте отладку и продолжайте линию за строкой. Тогда вы получите то, что происходит –

+0

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

ответ

0

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

Если вы понимаете, как это работает, вы сможете распечатать любой шаблон, но основы должны быть ясными. Попробуйте печатать значения переменной i, j и k после каждой итерации. См. Значения, которые изменяются после каждого цикла выполнения, а затем видят используемую вами логику.

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

Надеюсь, это поможет.

0

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

1) Сначала запустите петли в твердой форме, например, на странице Register/on для понимания петель.
2) Используйте отладчик для определения хода петли.

0

Если вы думаете об этом с точки зрения математики, то петли - это просто функции.

Единственный для цикла будет x.

Пример

for (int i = 0; i < 5; i++) { 
System.out.println("This is function x."); 
} 

Однако при запуске вложенности циклов это потому, что больше функций. Для цикла внутри другой цикл будет функция х^2

Например:

for (int i = 0; i < 5; i++) { 
    for (int j = 0; J < 5; j++){ 
    System.out.println("This is the j loop"); 
    } 
    System.out.println("This is the i loop"); 
} 

Причина этого в том, что для того, чтобы закончить первую итерацию I, все внутри цикла должно быть завершено. Но в цикле i есть еще один цикл внутри него, поэтому он должен быть закончен первым. Таким образом, цикл с j должен выполняться до его завершения. (В этом случае 5 раз), отлично, теперь мы можем увеличивать i. Но теперь нам нужно снова пройти через j! Этот процесс продолжается до тех пор, я не достигнет порога быть < 5. Таким образом, выходной сигнал будет выглядеть как этот

Output: 
This is the j loop 
This is the j loop 
This is the j loop 
This is the j loop 
This is the j loop 
This is the i loop 
This is the j loop 
This is the j loop 
.... 

Это будет продолжаться до тех пор, я не достиг 5, в этом случае она уже не удовлетворяет необходимым я < 5 , и цикл завершится.Надеюсь, это поможет

0

Во-первых, поскольку i = 0 5 верно, вы вводите первый (внешний) цикл.

запомнить i = 0.

Тогда j = 0; но 0 < i = 0 является ложным, поэтому вы не вводите второй цикл.

Для третьего цикла k = 0 = 0 истинно. Таким образом, вы вводите цикл и выполняете оператор печати, т. Е. Печатаете звезду.

k ++, это увеличит k на 1 и проверит логическое; Вы спрашиваете себя: 1 < = 0; явно нет; поэтому вы выходите из цикла for, а затем достигаете инструкции println, которая приведет вас к следующей строке.

И затем вы возвращаетесь во внешний контур.