Patroonprogramma's in Java: Print ster, piramide en nummer
⚡ Slimme samenvatting
Patroonprogramma's in Java Print sterren, cijfers of letters in een vaste vorm, waarbij elk van deze vormen is opgebouwd uit geneste lussen. De buitenste lus telt de rijen, terwijl de binnenste lussen spaties en tekens plaatsen.
Patroonafdrukprogramma's zijn ontwerpen of symbolen die letters of andere tekens in een specifiek formaat bevatten. Java patrooncodering verhoogt de logica-opbouw van de programmeurs, waardoor ze goede programmeurs kunnen worden.
Elk voorbeeld hier vereist alleen geneste lussen en basisfunctionaliteit. Java syntaxis.
Categorieën patronen
We kunnen ontelbare patronen tekenen in JavaEn alle patronen kunnen op drie verschillende manieren worden uitgevoerd.
Er zijn drie hoofdcategorieën die worden gebruikt om te identificeren Java patroon programma's.
- Sterpatroon: In Java sterpatroonprogramma's, de sterpatronen zijn een reeks sterretjes (*) gebruikt om verschillende vormen te creëren, zoals een piramide, sterpatroon, strakke driehoek, linker driehoek, ruitvorm, vierkant en nog veel meer patronen. Java.
- Nummerpatroon: Om stroombesturingsinstructies te oefenen, is een ander type patroon het gebruik van numerieke patroonprogramma's. JavaGetallenpatroonprogramma's bestaan uit getallen/tellen. Meestal stellen we de waarde van 'i' in, een lus-iterator, om getallen te genereren in patroonprogrammering. Het minimum aantal lussen voor een getallenpatroon is twee. Het getallenpatroonprogramma in Java Werkt ook met het rijen- en kolommensysteem.
- Karakterpatroon: De tekenpatroonprogrammering bestaat uit tekens die zich in de Engelse alfabetten. Dit is een andere manier om je programmeervaardigheden te verbeteren, maar hier hebben we het over karakters, niet over getallen of sterren. Het patroon kan hetzelfde karakter in het hele patroon hebben of kan verschillende karakters hebben, afhankelijk van de logica die je toepast.
De tabel hieronder laat zien wat er tussen de categorieën verschilt.
| Categorie | Gedrukte eenheid | Waar komt de gedrukte waarde vandaan? | Voorbeelduitvoer |
|---|---|---|---|
| sterpatroon | Asterisk | Een vast symbool, dus alleen de lusgrenzen veranderen. | * * * |
| Nummerpatroon | Digit | De lus-iterator i of j wordt direct afgedrukt. | 1 2 3 |
| Tekenpatroon | Letter | Een integer seed geconverteerd naar een char, beginnend bij 65 voor A. | abc |
In alle drie gevallen telt de buitenste lus de rijen, print een binnenste lus uitlijningsspaties en print een tweede lus de zichtbare tekens. Alleen de afgedrukte eenheid verandert.
Dezelfde loop-technieken vormen de basis voor andere klassieke oefeningen zoals selectie sorteren, invoegsoorten Armstrong nummer programma.
Sterpatronen komen eerst, omdat het symbool nooit verandert en alleen de lusgrenzen ertoe doen.
Sterpatronenprogramma's in Java
Sterpatronen printen een asterisk op de console, de patroonvorm hangt volledig af van de code die je schrijft.
Halflinks driehoekig sterpatroonprogramma:
Het onderstaande programma print deze halve linkerdriehoek:
public class LeftStarPattern{ public static void main(String args[]){ int i, j, row = 6; for (i=0; i<row; i++) { for (j=2*(row-i); j>=0; j--) { System.out.print(" "); } for (j=0; j<=i; j++ ) { System.out.print("* "); } System.out.println(); } } }
Code uitleg:
- Verklaren int ik, int.j. Declareer en initialiseer de rijvariabele als een int rij.
- i is de iterator voor de buitenste 'for'-lus en j is een iterator voor de binnenste 'for'-lus, 'row' bevat een aantal rijen die de piramide zou moeten hebben.
- In genest voor vertegenwoordigt de buitenste 'for' rijen en de binnenste 'for' vertegenwoordigt kolommen.
- Initialiseer in de buitenste 'for' de iterator 'i' met 0, stel de voorwaarde i<rij in en verhoog i.
- Nu wordt de binnenste 'for'-lus geïnitialiseerd met 2*(rij-i) en neemt af.
- De geneste 'for' drukt ruimte af op het consolescherm.
- Buiten het lichaam van geneste 'for' wordt nog een 'for'-lus geplaatst. Dit 'voor' ster afdrukken nadat het geneste 'for' is uitgevoerd. Het loopt door totdat j<=i.
Zandloper sterpatroonprogramma:
Twee op elkaar gestapelde piramides vormen deze zandloper:
public class Main { public static void main(String[] args) { int rows = 5; for (int i= 0; i<= rows-1 ; i++) { for (int j=0; j <i; j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } for (int i= rows-1; i>= 0; i--) { for (int j=0; j< i ;j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } } }
Code uitleg:
- Code begint met de openbare statische leegte hand int-rijen bepaalt het aantal rijen dat zandglas zal bevatten.
- Er zijn twee geneste 'for', de eerste geeft de neerwaartse piramide weer, en de tweede geeft de opwaartse piramide weer.
- In genest voor vertegenwoordigt de buitenste 'for' rijen en de binnenste 'for' vertegenwoordigt kolommen.
- In de buitenste 'for'-lussen tot i<= rij-1, binnenste 'for'-lussen tot i. printsysteem drukt de ruimte op de console af.
- De tweede binnenste lus drukt een asterisk plus spatie af op de console.
- Wanneer de eerste binnenlus volledig wordt uitgevoerd op i=0, wordt de tweede binnenlus volledig uitgevoerd.
- Vervolgens werd de buitenste lus verhoogd. Deze cyclus gaat door totdat de voorwaarde onwaar wordt.
- De tweede geneste lus geeft de opwaartse piramide weer, waarbij alleen de initialisatie en toestand van de buitenste lus van de eerste geneste lus worden gewijzigd.
- Het zal de opwaartse piramide weergeven. Zowel neerwaartse als opwaartse piramides zullen de zandloper sterpatroon.
Ruitvormig sterpatroonprogramma:
Een opwaartse en een neerwaartse piramide vormen deze diamant:
public class Main { public static void main(String args[]) { int n, i, j, space_0 = 1; n = 6; space_0 = n - 1; for (j = 1; j<= n; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0--; for (i = 1; i <= 2 * j - 1; i++) { System.out.print("*"); } System.out.println(""); } space_0 = 1; for (j = 1; j<= n - 1; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0++; for (i = 1; i<= 2 * (n - j) - 1; i++) { System.out.print("*"); } System.out.println(""); } } }
Code uitleg:
- In de diamant sterpatroon, 'n' is het aantal rijen, opgeslagen n-1 in spatie_0.
- In genest voor vertegenwoordigt de buitenste 'for' rijen en de binnenste 'for' vertegenwoordigt kolommen.
- De eerste geneste 'for' geeft de opwaartse piramide weer. Buitenste 'for'-lussen tot n en binnenste for-lussen tot spatie_0. De binnenste lus geeft ruimte op de console weer.
- Er is nog een innerlijke 'for' die doorloopt tot i<= 2 * j – 1 en een ster weergeeft, buiten dit innerlijke 'for'-printsysteem wordt een regel afgedrukt. Deze geneste lus drukt de bovenste piramide af.
- De andere geneste 'voor' vertoont een neerwaartse piramide. Buitenste 'for'-lussen tot i<=n-1, eerste binnenste 'for' print ruimte en tweede binnenste for prints ster.
- Buiten de binnenste 'for', druk de regelafstand af. zowel de opwaartse als de neerwaartse piramide vormen het ruitpatroon.
Rechthoekig sterpatroon ruimtepatroonprogramma:
De modulus van j en i voegt deze hiaten in:
public class AsterikProgramJava { public static void main(String[] args) { for(int i=1;i<=10;i++) { for(int j=1;j<=i+i;j++) { int mid; mid=j%i; if(mid==0) System.out.print("* "); else System.out.print("*"); } System.out.print("\n"); } } }
Code uitleg:
- In de bovenstaande patroon code, de buitenste 'for' zorgt voor het aantal rijen, en de binnenste 'for' onderhoudt de kolommen.
- Als het buitenste 'for' 1 is, wat de eerste rij betekent, en als het binnenste 'for' 1 is, betekent dit dat dit de eerste kolom is.
- Declareer binnen de binnenste 'for' een variabele met de naam mid en sla de rest van j/i op. Dit verdeelt de i- en j-waarden om de modulus te verkrijgen.
- Dus als de modulus 0 is, toon dan een asterisk en spatie; anders toon je alleen een asterisk. Buiten de binnenste 'for', druk je een regel af.
MODERN Java Opmerkingen: vanaf Java 11 De ruimtelussen kunnen worden vervangen door System.out.print(" ".repeat(n))en het bouwen van elke rij in een StringBuilder voor één println() De aanroep wordt sneller uitgevoerd. De oorspronkelijke code is ongewijzigd gebleven, omdat deze de berekeningen expliciet weergeeft.
Ruilenping Het sterretje bij de lussteller verandert elke stervorm in een cijfervorm.
Numerieke patronenprogramma's in Java
Numerieke patronen bestaan uit getallen. We kunnen veel verschillende vormen uit numerieke patronen tekenen.
Tegenover half driehoekig patroonprogramma:
Door eerst naar beneden en dan naar boven te tellen, krijg je deze getallendriehoek:
public class Number_p { public static void main(String[] args) { int i, j, rows_0=5; for (i = rows_0; i >= 1; i--) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } for (i = 2; i <= rows_0; i++) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } } }
Code uitleg:
- Om dit patroon te tekenen, gebruiken we twee geneste 'for'-lussen. De ene zal de eerste piramide afdrukken en de andere zal de tweede piramide weergeven.
- Verklaren int ik, int j en int row_0, en initialiseer de rij met het gewenste aantal rijen. Hier is de rijwaarde 5.
- Stel de buitenste 'for'-lus van de eerste geneste 'for' in, initialiseer i met het aantal rijen en herhaal totdat i >= en verlaag de iterator. Deze buitenste 'for' heeft betrekking op rijen.
- Stel in innerlijke 'for' de voorwaarde j=1 in en herhaal totdat j<=i. Geef in de hoofdtekst van de binnenste lus de j-variabele met de spatie weer.
- Wijzig nu in de tweede geneste 'for' de buitenste 'for'-voorwaarde van de eerste geneste 'for'. Initialiseer het met 2 en loop totdat de i<= rijen.
- En de binnenste lus herhaalt zich totdat i is bereikt. Vervolgens wordt het bericht weergegeven op de console, hetzelfde als in de binnenste lus van de eerste geneste 'for' buiten de hoofdtekst van de binnenste regelafstand voor prints.
Herhaald getal in de rechter driehoek van de kolom Patroonprogramma:
Door de teller op elke rij te resetten, worden de getallen herhaald:
public class Number_pattern { public static void main(String args[]) { int i, j,number, n=7; for(i=0; i<n; i++) { number=1; for(j=0; j<=i; j++) { System.out.print(number+ " "); number++; } System.out.println(); } } }
Code uitleg:
- In de voorbeeldcode declareert u int ik, int j, int number, en int n.
- Initialiseer vervolgens de n met de waarde van het gewenste aantal rijen, hier is het 7.
- Begin in de buitenste 'for' de lus vanaf waarde 0 en herhaal deze totdat n is bereikt.
- U kunt het nummer binnen of buiten de lus initialiseren.
- Herhaal in de binnenste 'for' totdat j kleiner is dan of gelijk is aan i bereikt. En geef het nummer met de spatie weer.
- Buiten het lichaam van de binnenste 'for', druk de lijnruimte af.
- De innerlijke 'for' herhaalt zich totdat de voorwaarde onwaar wordt. Wanneer deze voorwaarde onwaar wordt, wordt de buitenste lus opnieuw verhoogd en wordt de binnenste 'for' uitgevoerd totdat de voorwaarde onwaar wordt.
- Deze procedure herhaalt zich totdat de buitenste lus vals wordt.
Hetzelfde sjabloon print letters zodra een integer als startwaarde wordt geconverteerd naar een char.
Tekenpatronen Programma's in Java
Tekenpatronen bestaan uit Engelse alfabetletters. We kunnen coole en geweldige programma's maken met tekenpatronen. Java Enkele daarvan worden hieronder besproken.
Karakter Halve piramide patroonprogramma:
Het converteren van een integer seed naar een char print deze letters:
public class Character_p{
public static void main(String[] args){
int alphabet = 65;
for (int i = 0; i <= 5; i++){
for (int j = 0; j <= i; j++)
{
System.out.print((char) alphabet + " ");}
alphabet++;
System.out.println();
}
}
}
Code uitleg:
- Declareer het alfabet en initialiseer het met de waarde 65.
- De buitenste voor start de lus vanaf 0 en herhaalt totdat i 5 of minder is.
- Binnen de for begint de lus bij 0 en wordt herhaald totdat j kleiner is dan of gelijk is aan i.
- Druk vervolgens het teken en de spatie af op het uitvoerscherm.
- Om tekens af te drukken, typen we het alfabet van geheel getal naar teken.
- Buiten de hoofdtekst verhoogt u het alfabet en drukt u de regel af op het uitvoerscherm. De (char) converteert de alfabetwaarde naar een teken.
Piramide/driehoekpatroon in Java:
Een space loop centreert de letters in een piramide:
public class CharacterPattern
{
public static void main(String[] args){
for (int i = 0; i <= 8; i++)
{
int alphabet_0 = 65;
for (int j = 8; j > i; j--)
{
System.out.print(" ");
}
for (int k = 0; k <= i; k++)
{
System.out.print((char) (alphabet_0 + k) + " ");
}
System.out.println();
}
}
}
Code uitleg:
- In deze voorbeeldcode hebben we drie 'for'-lussen gebruikt, één is een buitenste lus en twee lussen zijn genest in de buitenste 'for'.
- De buitenste 'for' begint bij 0 en loopt door totdat de waarde 8 of minder is.
- In de hoofdtekst van de buitenste 'for' hebben we de alfabetvariabele van het gehele type geïnitialiseerd met een waarde van 65 en de andere 'for' in de hoofdtekst genest.
- De eerste binnenste 'for' is het omgekeerde van de buitenste 'for'-lus, en in zijn lichaam printruimte op de console. Buiten zijn lichaam is er nog een 'voor'. Het itereert zoals de buitenste lus.
- In de hoofdtekst van de tweede binnenste lus drukt u het personage af door het alfabet + k te typen en het met spatie op de console af te drukken. Buiten het lichaam van de tweede binnenste 'for' wordt een lijn afgedrukt.








