Pyramidepatroonprogramma’s in Java

Patroonprogramma’s worden veel gebruikt tijdens sollicitatiegesprekken om het logisch denkvermogen van de sollicitant te begrijpen. Piramidepatronen zijn zeer populair en zodra we de logica achter de creatie begrijpen, is het schrijven van code om hetzelfde te bereiken een eenvoudige taak.

Piramide Patroonprogramma’s in Java

Hier geef ik enkele voorbeelden om verschillende piramidepatronen te creëren met getallen, symbolen, enzovoort. We zullen ook enkele voorbeelden bekijken van het maken van een omgekeerd piramidepatroon in een Java-programma. We proberen de code eenvoudig te houden zodat deze gemakkelijk te begrijpen is.

Piramide Patroon van Getallen

Als je naar het eerste patroon kijkt, bevat elke rij hetzelfde aantal dat hetzelfde aantal keren wordt afgedrukt. Elke rij heeft echter voorloopwitruimtes waarvan de telling “rijen-i” is. Laten we eens kijken naar het programma om dit patroon af te drukken.

package com.journaldev.patterns.pyramid;

import java.util.Scanner;

public class PyramidPattern {

	private static void printPattern1(int rows) {
		// for-lus vir die rye
		for (int i = 1; i <= rows; i++) {
			// wit spasies aan die voorkant van die getalle
			int numberOfWhiteSpaces = rows - i;

			// druk leiende wit spasies af
			printString(" ", numberOfWhiteSpaces);

			// druk getalle af
			printString(i + " ", i);

			// gaan na die volgende lyn
			System.out.println("");
		}
	}

	// nutfunksie om 'n string 'n aantal kere af te druk
	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("Rye = "+rye);
		scanner.close();

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

	}

}

Let daarop dat ek ’n nutfunksie geskep het vir algemene string afdruktaak. As jy jou program kan verdeel in kort herbruikbare funksies, toon dit dat jy nie net die program wil skryf nie, maar ook sy kwaliteit en herbruikbaarheid wil verseker. Wanneer ons bogenoemde program uitvoer, kry ons die volgende uitset.

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 
Pyramid Pattern Java Program Output

Piramidepatroon van toenemende getalle

Hier is die funksie om patroon 2 af te druk. Die sleutelpunt om op te let is die aantal leiende wit spasies en dan word die getalle in toenemende volgorde afgedruk.

/**
 * 
 * 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-lus vir die rye
	for (int i = 1; i <= rows; i++) {
		// wit spasies aan die voorkant van die getalle
		int numberOfWhiteSpaces = rows - i;

		// druk leiende wit spasies af
		printString(" ", numberOfWhiteSpaces);

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

		// gaan na die volgende lyn
		System.out.println("");
	}
}

Piramide van karakters

Dit is echt een eenvoudige, we hoeven alleen het karakter af te drukken zonder enige berekeningen of manipulaties.

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

*/
private static void printPattern3(int rows) {
	// for-lus voor de rijen
	for (int i = 1; i <= rows; i++) {
		// witruimte aan de voorkant van de getallen
		int numberOfWhiteSpaces = rows - i;

		// afdrukken van leidende witruimte
		printString(" ", numberOfWhiteSpaces);

		// karakter afdrukken
		printString("* ", i);

		// naar de volgende regel gaan
		System.out.println("");
	}
}

Pyramidepatroon 4 Programma

/**
* 
*               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-lus voor de rijen
	for (int i = 1; i <= rows; i++) {
		// witruimte aan de voorkant van de getallen
		int numberOfWhiteSpaces = (rows-i)*2;

		// afdrukken van leidende witruimte
		printString(" ", numberOfWhiteSpaces);

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

		// naar de volgende regel gaan
		System.out.println("");
	}
}

Merk op dat elke rij 2*r-1 getallen heeft. Dus zullen we (rijen-i)*2 witruimtes hebben voordat we een getal afdrukken. Dan beginnen de getallen van 1 tot “i” en dan weer naar 1. Onze logica om de getallen af te drukken zou twee for-lussen vereisen om dit te bereiken.

Pyramidepatroon 5 Programma in 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-lus voor de rijen
	for (int i = rows; i >= 1; i--) {
		// witruimte aan de voorkant van de getallen
		int numberOfWhiteSpaces = i*2;

		// afdrukken van leidende witruimte
		printString(" ", numberOfWhiteSpaces);

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

		// naar de volgende regel gaan
		System.out.println("");
	}
}

Omgekeerd Piramidemotief van Karakters

Hier is het stukje code voor het programma van de omgekeerde piramide.

/**
 * 
* * * * * * * * * 
 * * * * * * * * 
  * * * * * * * 
   * * * * * * 
    * * * * * 
     * * * * 
      * * * 
       * * 
        * 
 */
private static void printPattern6(int rows) {
	// for-lus voor de rijen
	for (int i = rows; i >= 1; i--) {
		// witruimte aan de voorkant van de getallen
		int numberOfWhiteSpaces = rows - i;

		// print toonaangevende witruimtes
		printString(" ", numberOfWhiteSpaces);

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

		// ga naar de volgende regel
		System.out.println("");
	}
}

Omgekeerd Piramidemotief van Getallen

Laten we eens kijken naar een voorbeeld van een omgekeerd piramidemotief gemaakt van getallen.

	/**
	 * 
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-lus voor de rijen
	for (int i = rows; i >= 1; i--) {
		// witruimte aan de voorkant van de getallen
		int numberOfWhiteSpaces = rows - i;

		// print toonaangevende witruimtes
		printString(" ", numberOfWhiteSpaces);

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

		// ga naar de volgende regel
		System.out.println("");
	}
}

Conclusie

Er zijn veel soorten piramidepatronen. Het belangrijkste punt is om het patroon te begrijpen waarin nummers en spaties zijn georganiseerd. Zodra je het patroon duidelijk hebt, kun je ook gemakkelijk code schrijven in Java of een andere programmeertaal. Laat me weten als je op zoek bent naar een specifiek patroonprogramma en ik zal proberen je te helpen.

Verder lezen

String-programma’s in Java en Java-programmeerinterviewvragen

Je kunt de volledige code en meer programmeervoorbeelden bekijken op onze GitHub Repository.

Source:
https://www.digitalocean.com/community/tutorials/pyramid-pattern-programs-in-java