Рубрики
Без рубрики

Программы с пирамидальным узором на Java

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

Автор оригинала: Pankaj Kumar.

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

Программы с пирамидальным узором на Java

Мы постараемся сделать код простым, чтобы его можно было легко понять.

Пирамидальный узор из чисел

Если вы посмотрите на первый шаблон, то увидите, что каждая строка содержит одно и то же число, напечатанное одинаковое количество раз. Однако в каждой строке есть начальные пробелы, количество которых равно “строки-i”. Давайте посмотрим на программу для печати этого шаблона.

package com.journaldev.patterns.pyramid;

import java.util.Scanner;

public class PyramidPattern {

	private static void printPattern1(int rows) {
		// for loop for the rows
		for (int i = 1; i <= rows; i++) {
			// white spaces in the front of the numbers
			int numberOfWhiteSpaces = rows - i;

			//print leading white spaces
			printString(" ", numberOfWhiteSpaces);

			//print numbers
			printString(i + " ", i);

			//move to next line
			System.out.println("");
		}
	}

	//utility function to print string given times
	private static void printString(String s, int times) {
		for (int j = 0; j < times; j++) {
			System.out.print(s);
		}
	}

	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);
		System.out.println("Please enter the rows to print:");
		int rows = scanner.nextInt();
		// System.out.println("Rows = "+rows);
		scanner.close();

		System.out.println("Printing Pattern 1\n");
		printPattern1(rows);

	}

}

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

Когда мы запускаем вышеуказанную программу, мы получаем следующий результат.

Please enter the rows to print:
9
Printing Pattern 1

        1 
       2 2 
      3 3 3 
     4 4 4 4 
    5 5 5 5 5 
   6 6 6 6 6 6 
  7 7 7 7 7 7 7 
 8 8 8 8 8 8 8 8 
9 9 9 9 9 9 9 9 9 

Вывод Java-Программы с пирамидальным Рисунком

Пирамидальная структура возрастающих чисел

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

/**
 * 
 * Program to print below pyramid structure
 *      1         
       1 2        
      1 2 3       
     1 2 3 4      
    1 2 3 4 5     
   1 2 3 4 5 6    
  1 2 3 4 5 6 7   
 1 2 3 4 5 6 7 8  
1 2 3 4 5 6 7 8 9 
*/
private static void printPattern2(int rows) {
	// for loop for the rows
	for (int i = 1; i <= rows; i++) {
		// white spaces in the front of the numbers
		int numberOfWhiteSpaces = rows - i;

		//print leading white spaces
		printString(" ", numberOfWhiteSpaces);

		//print numbers
		for(int x = 1; x<=i; x++) {
			System.out.print(x+" ");
		}

		//move to next line
		System.out.println("");
	}
}

Пирамида символов

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

/**
 * Program to print following pyramid structure
        *         
       * *        
      * * *       
     * * * *      
    * * * * *     
   * * * * * *    
  * * * * * * *   
 * * * * * * * *  
* * * * * * * * * 

*/
private static void printPattern3(int rows) {
	// for loop for the rows
	for (int i = 1; i <= rows; i++) {
		// white spaces in the front of the numbers
		int numberOfWhiteSpaces = rows - i;

		//print leading white spaces
		printString(" ", numberOfWhiteSpaces);

		//print character
		printString("* ", i);

		//move to next line
		System.out.println("");
	}
}

Программа “Пирамидальный узор 4”

/**
* 
*               1 
              1 2 1 
            1 2 3 2 1 
          1 2 3 4 3 2 1 
        1 2 3 4 5 4 3 2 1 
      1 2 3 4 5 6 5 4 3 2 1 
    1 2 3 4 5 6 7 6 5 4 3 2 1 
  1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 
*/

private static void printPattern4(int rows) {
	// for loop for the rows
	for (int i = 1; i <= rows; i++) {
		// white spaces in the front of the numbers
		int numberOfWhiteSpaces = (rows-i)*2;

		//print leading white spaces
		printString(" ", numberOfWhiteSpaces);

		//print numbers
		for(int x=1; x0; j--) {
			System.out.print(j+" ");
		}

		//move to next line
		System.out.println("");
	}
}

Обратите внимание, что в каждой строке есть числа 2*r-1. Таким образом, у нас будет (строки-i)*2 пробела, прежде чем мы напечатаем какое-либо число. Затем числа начинаются с 1 до “i”, а затем снова до 1. Наша логика для печати чисел потребовала бы двух циклов для достижения этой цели.

Программа Pyramid Pattern 5 на Java

/**
 * 
 *                9 
                8 9 8 
              7 8 9 8 7 
            6 7 8 9 8 7 6 
          5 6 7 8 9 8 7 6 5 
        4 5 6 7 8 9 8 7 6 5 4 
      3 4 5 6 7 8 9 8 7 6 5 4 3 
    2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 
  1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 
*/
private static void printPattern5(int rows) {
	// for loop for the rows
	for (int i = rows; i >= 1; i--) {
		// white spaces in the front of the numbers
		int numberOfWhiteSpaces = i*2;

		//print leading white spaces
		printString(" ", numberOfWhiteSpaces);

		//print numbers
		for(int x=i; x=i; j--) {
			System.out.print(j+" ");
		}

		//move to next line
		System.out.println("");
	}
}

Перевернутая пирамидальная схема символов

Вот фрагмент кода для программы перевернутой пирамиды.

/**
 * 
* * * * * * * * * 
 * * * * * * * * 
  * * * * * * * 
   * * * * * * 
    * * * * * 
     * * * * 
      * * * 
       * * 
        * 
 */
private static void printPattern6(int rows) {
	// for loop for the rows
	for (int i = rows; i >= 1; i--) {
		// white spaces in the front of the numbers
		int numberOfWhiteSpaces = rows - i;

		//print leading white spaces
		printString(" ", numberOfWhiteSpaces);

		//print character
		printString("* ", i);

		//move to next line
		System.out.println("");
	}
}

Перевернутая пирамидальная схема чисел

Давайте рассмотрим пример перевернутой пирамиды, состоящей из чисел.

	/**
	 * 
9 9 9 9 9 9 9 9 9 
 8 8 8 8 8 8 8 8 
  7 7 7 7 7 7 7 
   6 6 6 6 6 6 
    5 5 5 5 5 
     4 4 4 4 
      3 3 3 
       2 2 
        1 
	 */
private static void printPattern7(int rows) {
	// for loop for the rows
	for (int i = rows; i >= 1; i--) {
		// white spaces in the front of the numbers
		int numberOfWhiteSpaces = rows - i;

		//print leading white spaces
		printString(" ", numberOfWhiteSpaces);

		//print character
		printString(i+" ", i);

		//move to next line
		System.out.println("");
	}
}

Вывод

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

Дальнейшее Чтение

Строковые программы на Java и Вопросы для интервью по программированию на Java