Introduktion til mønstre i Java

I artiklen Mønstre i Java, før det lærer noget programmeringssprog i Java og dykker dybt ned i de avancerede koncepter, er det meget vigtigt og først og fremmest at forstå loops arbejde. Selvom der er 3 typer løkker, der er til, mens og gør-mens-loop. Hver sløjfe bruges i henhold til den særlige situation i et program, da de er lidt forskellige fra hinanden. For at bruge forskellige sløjfer kræver en vis programmeringslogik, og til dette formål gives mønsterøvelse til programmererne, da det indebærer brug af logisk og resonnerende magt. Det kan være udskrivning af geometriske figurer (som trekant, firkant osv.), Pyramide, kasser i forskellige mønstre af stjerner, tal, karakterstil på konsolskærmen. Formatet eller den basale syntaks for sløjferne kan variere fra et programmeringssprog til et andet, men den generelle logik for at udskrive disse mønstre forbliver den samme.

Eksempel på mønstre i Java

Lad os forstå, hvordan man tegner mønstre i Java gennem nogle eksempler

Eksempel 1: Udskrivning af halvpyramide ved hjælp af tal.

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();
)
)
)

Produktion:

I ovenstående eksempel kræves det kun 2 grundlæggende sløjfer for at udskrive mønsteret, den første til loop er for antallet af rækker. I vores tilfælde har vi defineret rækkerne, dvs. 5, ellers kan vi også tage input fra brugeren og gemme det i en variabel. Den indvendige sløjfe er at udskrive numrene i en bestemt række. Efter færdiggørelsen af ​​1 række eller slutningen af ​​'j'-løkken ændres linjen ved hjælp af println ().

Eksempel 2: Udskrivning af pilen med tal.

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();
)
)
)

Produktion:

I ovenstående eksempel er vi nødt til at opdele pilen i to halvdele og bruge 2 løkker til hver halvdel. I den første halvdel af antallet af rækker er den indledende værdi indstillet til rækker, mens antallet af rækker i den nedre halvdel er 1 mindre end den oprindelige værdi. Indvendige løkker til begge halvdele bruges til at itereere gennem hver række i henhold til den ydre sløjfe.

Eksempel 3: Udskrivning af fuld pyramide ved hjælp af 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();
)
)
)

Produktion:

I ovenstående eksempel er vi nødt til at gøre 3 ting, dvs. huske på det samlede antal rækker til udskrivning af den pyramide, som den første til løkke fungerer fra 1 til rækker variabel. For det andet skal vi først udskrive mellemrum i pyramiden og derefter mønsteret (*) efter mellemrummet. I denne anden og tredje benyttes løkker, der er inde i den ydre sløjfe 'i'.

Eksempel 4: Udskrivning af halv omvendt pyramide ved hjælp af tal.

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();
)
)
)

Produktion:

Enkel halvpyramide er let, da vi har brug for at håndtere de tal, * eller de tegn, som vi udskriver, men for den omvendte pyramide skal vi først udskrive mellemrum og derefter det mønster, der er (*) i vores tilfælde. Så 3 til sløjfer bruges på samme måde som dem i tilfælde af den fulde pyramide.

Eksempel 5: Udskrivning af halvpyramide ved hjælp af 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();
)
)
)

Produktion:

Pyramiden udskrives med den samme logik som brugt i ovenstående eksempel ved hjælp af 2 til løkker, en for antallet af rækker og andre til tegnudskrivning i en bestemt række. Men det vigtigste, der skal bemærkes, er håndteringen af ​​karakterdata. 'A' har en numerisk værdi 65 i Java, så al den matematiske logik udføres ved hjælp af den numeriske værdi af alfabetet, og til sidst udskrives den i tegnformatet.

Eksempel 6: Udskrivningsmønster af 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();
)
)
)

Produktion:

Det grundlæggende mønster, der blev fulgt for at håndtere tegnværdien, og 2 for sløjfer i ovenstående eksempel ligner eksempel 5, idet kun forskellen er den enkle logik, der bruges til at udskrive det ønskede mønster.

Eksempel 7: Udskrivning af firkant ved hjælp af 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();
)
)
)

Produktion:

Til udskrivning af firkantet har vi brug for længde og bredde, dvs. begge sider af firkanten skal være ens, hvilket er 5 i vores tilfælde. Så den første til løkke bruges til længden eller antallet af rækker i kvadratet, og den indvendige til løkke bruges til bredden af ​​kvadratet, dvs. 5 stjerner i en enkelt række.

Eksempel 8: Udskriv rektangel ved hjælp af 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();
)
)
)

Produktion:

Den grundlæggende logik ved udskrivning af rektanglet på (*) er den samme som udskrivning af firkanter, den eneste forskel mellem er forskellig længde og bredde på rektanglet. Her 'i' loop er for længden af ​​rektanglet og den indre 'j' loop er for bredden af ​​løkken. I vores program betragtes det som en konstant værdi, vi kan også spørge brugeren og gemme dem i separate variabler.

Eksempel 9: Udskrivning af en diamant ved hjælp af stjerner.

Udskrivning af en diamant i Java er en meget enkel proces. Det involverer udskrivning af 2 pyramider, 1 i opadgående retning og en anden i en omvendt retning. Så dybest set er vi nødt til at bruge sløjferne på samme måde som vi foretager kodningen til udskrivning af 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 ovenstående eksempel anvendes næsten den samme logik til at skabe både pyramiderne, den ene i en opadgående retning og den anden i en omvendt retning. Allerførst for loop er for antallet af linjer eller rækker i mønsteret, og yderligere to for løkker er for mellemrum og stjernerne (*) i mønsteret.

Produktion:

Eksempel 10: Udskrivning af binære tal i et trappeformat.

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();
)
)
)

Produktion:

I ovenstående eksempel bruges ydre til loop 'i' til det samlede antal rækker til udskrivning af binært mønster og det indre til loop 'j' bruges til at iterere indtil den ydre sløjfe 'i' fordi den 1. række har vi brug for 1 værdi, for den anden række har vi brug for 2 værdier osv. Hvis der ellers bruges udsagn til at udskrive en alternativ værdi på 0 og 1. Antag, at første gang i = 1, j = 1 og 1% 2! = 0, udskrives 1, og udførelsen flyttes ud af indre loop.

Eksempel 11: Program til udskrivning af gentagne alfabetmønstre.

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();
)
)
)

Produktion:

I ovenstående eksempel, hvis vi observerer hver række af mønstre, skal vi først udskrive alfabetet i stigende rækkefølge, dvs. AB og derefter i modsat rækkefølge, dvs. AB A. Til dette har vi brug for 3 sløjfer, 1. til løkke for det samlede antal rækker. 2. for loop for at udskrive alfabeterne i stigende rækkefølge og derefter den tredje for loop, der forbliver inde i den ydre 'i' loop og udskriver alfabeterne i samme linje, men i modsat rækkefølge af 'j' loop.

Konklusion

Ovenstående eksempel og deres forklaringer viser tydeligt, hvordan man fremstiller sådanne mønstre i Java. Selvom disse mønstre ser ud til at være vanskelige i starten, men iagttager dem dybt, hvordan gentagelsen af ​​mønster sker i en enkelt række, og i henhold til hvor mange sløjfer, der skal bruges, bliver det let at gøre praktisk på dette. I dag også i interviews med store virksomheder, bliver kandidater bedt om at skrive logikken for mønstre med forskellige vanskeligheder. Fordi dette mønsterfremstilling viser den enkeltes grundlæggende logiske og programmeringsviden.

Anbefalet artikel

Dette har været en guide til mønstre i Java. Her diskuterer vi Introduktion til mønstre i Java og eksemplerne på forskellige mønstre sammen med output. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

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

Kategori: