Introduksjon til mønstre i Java

I artikkelen Mønstre i Java, før du lærer noe programmeringsspråk i Java og dykker dypt ned i de avanserte konseptene, er det veldig viktig og fremst en del av å forstå hvordan looper fungerer. Skjønt det er 3 typer løkker som er for, mens og gjør-mens sløyfe. Hver sløyfe brukes i henhold til den spesielle situasjonen til et program, da de er litt forskjellige fra hverandre. For å bruke forskjellige løkker krever en del programmeringslogikk, og for dette formålet blir mønsterøvelse gitt til programmererne ettersom det innebærer bruk av logisk og resonnementskraft. Det kan være utskrift av geometriske figurer (som trekant, firkant, osv.), Pyramide, bokser i forskjellige mønstre av stjerner, tall, karakterstil på konsollskjermen. Formatet eller den grunnleggende syntaks for løkkene kan avvike fra ett programmeringsspråk til et annet, men den generelle logikken for å skrive ut disse mønstrene forblir den samme.

Eksempel på mønstre i Java

La oss forstå hvordan vi tegner mønstre i Java gjennom noen eksempler

Eksempel 1: Skrive ut halvpyramide ved hjelp av tall.

Kode:

public class Pyramid
(
public static void main(String() args)
(
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
(
​//innermost loop is to print the numbers in the specific rows for (j=1; j<=i; j++)
(
System.out.print(j +" " );
)
System.out.println();
)
)
)

Produksjon:

I eksemplet ovenfor er det bare to grunnleggende løkker som kreves for å skrive ut mønsteret, den første for loop er for antall rader. I vårt tilfelle har vi definert radene, dvs. 5, ellers kan vi også ta innspill fra brukeren og lagre det i en variabel. Den indre sløyfen er å skrive ut tallene i en bestemt rad. Etter ferdigstillelse av 1 rad eller slutten av 'j' -sløyfen, endres linjen ved bruk av println ().

Eksempel 2: Skrive ut pil med tall.

Kode:

public class NumberTriangle
(
public static void main(String() args)
(
int i, j;
int rows =7;
​//outermost loop to represent the number of rows which is 7 in this case
//for the upper half of arrow
for (i=1; i<= rows; i++)
(
​//innermost loop is to print the numbers in the specific rows
//for the upper half of arrow
for (j=1; j<=i; j++)
(
System.out.print(j + " ");
)
System.out.println();
)
​//outermost loop to represent the number of rows which is 6 in this case
//for the lower half of arrow
for (i=rows-1; i>=1; i--)
(
​//innermost loop is to print the numbers in the specific rows
//for the lower half of arrow
for (j=1; j<=i; j++)
(
System.out.print(j + " ");
)
System.out.println();
)
)
)

Produksjon:

I eksemplet ovenfor må vi dele pilen i to halvdeler og bruke 2 løkker for hver halvdel. I den første halvdelen av antall rader vil det være den opprinnelige verdien som er angitt for rader, mens for den nedre halvdelen av raden er 1 mindre enn den opprinnelige verdien. Innvendige løkker for begge halvdeler brukes til å iterere gjennom hver rad i henhold til den ytre løkken.

Eksempel 3: Skrive ut full pyramide ved bruk av stjerner (*).

Kode:

public class FullPyramid
(
public static void main(String() args)
(
int i, j, k;
int rows = 5;
//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++)
(
//innermost loop to represent the spaces in pyramid for (j= 1; j<= rows-i; j++)
(
System.out.print(" ");
)
​//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= 2*i-1; k++)
(
System.out.print("* ");
)
System.out.println();
)
)
)

Produksjon:

I eksemplet ovenfor må vi gjøre tre ting, dvs. huske på det totale antall rader for utskrift av pyramiden som den første for loopen fungerer fra 1 til rader variabel. For det andre må vi først skrive ut mellomrommene i pyramiden og deretter mønsteret (*) etter mellomrommene. For dette andre og tredje benyttes løkker som er i den ytre løkken 'i'.

Eksempel 4: Skrive ut halv omvendt pyramide ved hjelp av tall.

Kode:

public class ReversePyramid
(
public static void main(String() args)
(
int i, j, k;
int rows = 5;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++)
(
//innermost loop to represent the spaces
for (j= 1; j<= rows-1; j++)
(
System.out.print(" ");
)
​//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= i; k++)
(
System.out.print("* ");
)
System.out.println();
)
)
)

Produksjon:

Enkel halvpyramide er lett ettersom vi trenger å håndtere tallene, * eller tegnene vi skriver ut, men for den omvendte pyramiden må vi først skrive ut mellomrommene og deretter mønsteret som er (*) i vårt tilfelle. Så 3 for løkker brukes som fungerer på samme måte som for tilfeller av full pyramide.

Eksempel 5: Skrive ut halvpyramide ved hjelp av alfabeter.

Kode:

public class AlphabetPyramid
(
public static void main(String() args)
(
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
(
int ch = 65;
​//innermost loop to represent the alphabets in a pyramid in particular row for (j= 1; j<= i; j++)
(
System.out.print((char)(ch + i - 1) + " ");
)
System.out.println();
)
)
)

Produksjon:

Pyramiden skrives ut med samme logikk som brukt i eksemplet ovenfor ved å bruke 2 for løkker, en for antall rader og andre for tegnet som skal skrives ut i en bestemt rad. Men det viktigste som bør bemerkes er håndtering av karakterdata. 'A' har en numerisk verdi 65 i Java, slik at all den matematiske logikken utføres ved å bruke den numeriske verdien til alfabetet, og til slutt skrives den ut i tegnformatet.

Eksempel 6: Utskriftsmønster av alfabeter.

Kode:

public class AlphabetPattern
(
public static void main(String() args)
(
int i, j;
//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
(
int ch = 65;
​//innermost loop to represent the alphabets for (j= 1; j<= i; j++)
(
System.out.print((char)(ch - 1 + j) + " ");
)
System.out.println();
)
)
)

Produksjon:

Det grunnleggende mønsteret som ble fulgt for å håndtere tegnverdien, og 2 for løkker i eksemplet ovenfor ligner på eksempel 5, og bare forskjellen er den enkle logikken som brukes til å skrive ut ønsket mønster.

Eksempel 7: Skrive ut firkant ved bruk av stjerner (*).

Kode:

public class SquarePattern
(
public static void main(String() args)
(
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
(
int ch = 65;
//innermost loop to represent the stars (*) for (j= 1; j<= 5; j++)
(
System.out.print(" * " + " ");
)
System.out.println();
)
)
)

Produksjon:

For utskrift av kvadrat trenger vi lengde og bredde, dvs. at begge sider av kvadratet skal være like, som er 5 i vårt tilfelle. Så den første for sløyfe brukes for lengden eller antall rader i kvadrat, og den indre for sløyfen brukes for bredden på torget, dvs. 5 stjerner på en enkelt rad.

Eksempel 8: Skrive ut rektangel ved bruk av stjerner (*).

Kode:

public class RectanglePattern
(
public static void main(String() args)
(
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
(
int ch = 65;
​//innermost loop to represent columns the stars (*) for (j= 1; j<= 9; j++)
(
System.out.print(" * " + " " );
)
System.out.println();
)
)
)

Produksjon:

Den grunnleggende logikken for å skrive ut rektanglet til (*) er den samme som å skrive ut firkanter, den eneste forskjellen mellom er forskjellig lengde og bredde på rektangelet. Her er 'i' sløyfen for lengden på rektangelet og den indre 'j' løkken er for bredden på løkken. I programmet vårt blir det tatt som en konstant verdi, vi kan også spørre brukeren og lagre dem i separate variabler.

Eksempel 9: Skrive ut en diamant med stjerner.

Å skrive ut en diamant i Java er en veldig enkel prosess. Det innebærer å trykke 2 pyramider, 1 i retning oppover og en annen i omvendt retning. Så i grunn trenger vi å bruke løkkene på samme måte som vi gjør kodingen for å skrive ut to separate pyramider.

Kode:

public class Diamond
(
public static void main(String() args)
(
int i, j, k;
int rows = 5;
​//outermost loop to represent the number of rows which is 5 in this case.
// Creating upper pyramid
for(i= 1; i<= rows; i++)
(
//innermost loop to represent the spaces in upper pyramid for (j= 1; j<= rows-i; j++)
(
System.out.print(" ");
)
​//innermost loop to represent the stars (*) in upper pyramid for (k= 1; k<= 2*i-1; k++)
(
System.out.print("* ");
)
System.out.println();
)
​//outermost loop for the rows in the inverted pyramid for (i = rows-1; i>0; i--)
(
​//innermost loop for the space present in the inverted pyramid for (j=1; j<= rows - i; j++)
(
System.out.print(" ");
)
​//innermost loop inside the outer loop to print the ( * ) pattern in inverted pyramid for (k = 1; k<= 2*i-1; k++)
(
System.out.print("* ");
)
System.out.println();
)
)
)

I eksemplet ovenfor brukes nesten den samme logikken for å lage begge pyramidene, en i en retning oppover og en annen i en omvendt retning. Aller først for sløyfe er antall linjer eller rader i mønsteret og ytterligere to for løkker er for mellomrom og stjernene (*) mønsteret i mønsteret.

Produksjon:

Eksempel 10: Skrive ut binære tall i trappformat.

Kode:

public class BinaryStair
(
public static void main(String() args)
(
int i, j;
//outer loop for the total rows which is 5 in this case for (i = 1; i <= 5; i++)
(
​//inner loop for the pattern of 0 and 1 in each row for (j = 1; j<= i ; j++)
(
if (j % 2 ==0)
(
System.out.print(0);
)
else
(
System.out.print(1);
)
)
System.out.println();
)
)
)

Produksjon:

I eksemplet ovenfor, for å skrive ut binært mønster, brukes ytre for loop 'i' for totalt antall rader, og den indre for loop 'j' brukes til å iterere til den ytre loopen 'i' fordi den første raden trenger vi 1 verdi, for den andre raden trenger vi 2 verdier, og så videre. Hvis og annet uttalelser brukes for å skrive ut alternativ verdi på 0 og 1. Anta for første gang i = 1, j = 1 og 1% 2! = 0, da 1 skrives ut og utførelse vil flytte ut av indre sløyfe.

Eksempel 11: Program for å skrive ut repeterende alfabetmønster.

Kode:

public class AlphabetReverseOrder
(
public static void main(String() args)
(
int i, j, k;
//outer loop for the total rows which is 5 in this case for (i = 0 ; i<=5; i++)
(
int ch= 65;
//inner loop for the pattern of alphabets in till 'i' loop for (j = 0; j <=i ; j++)
(
System.out.print((char) (ch+j) + " ");
)
//inner loop for the pattern of alphabets in reverse order from 'i' loop for (k= i-1; k >=0; k--)
(
System.out.print((char) (ch+k) + " ");
)
System.out.println();
)
)
)

Produksjon:

I eksemplet over, hvis vi ser på hver mønsterrekke, må vi trykke alfabetet først i økende rekkefølge, dvs. AB og deretter i motsatt rekkefølge, dvs. AB A. For dette trenger vi 3 løkker, første for sløyfe for det totale antall rader. For det andre for at loopen skal skrive ut alfabetene i økende rekkefølge, deretter den tredje for loopen som forblir inne i den ytre 'i' loopen og skriver ut alfabetene på samme linje, men i motsatt rekkefølge av 'j' loopen.

Konklusjon

Eksemplet ovenfor og forklaringene deres viser tydelig hvordan du lager slike mønstre i Java. Selv om disse mønstrene ser ut til å være vanskelige i starten, men å observere dem dypt om hvordan gjentakelsen av mønsteret skjer i en enkelt rad og i henhold til hvor mange løkker som skal brukes, blir det enkelt å gjøre dette praktisk. I dag også i intervjuer med store selskaper, blir kandidatene bedt om å skrive logikken til mønstre med ulik vanskelighetsgrad. Fordi dette mønsterbildet viser den grunnleggende logiske og programmeringskunnskapen til et individ.

Anbefalt artikkel

Dette har vært en guide til mønstre i Java. Her diskuterer vi Introduksjon til mønstre i Java og eksemplene på forskjellige mønstre sammen med output. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Stjernemønstre i Java
  2. Rammer i Java
  3. Oppsett i Java
  4. Introduksjon til mønstre i PHP
  5. Mønstre i JavaScript med eksempler