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

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