Introduktion till mönster i Java

I artikeln Mönster i Java, innan det lär sig något programmeringsspråk i Java och dyka djupt in i avancerade koncept, är det mycket viktigt och främst del att förstå hur slingor fungerar. Det finns dock tre typer av slingor som är för, medan och gör-medan-slinga. Varje slinga används enligt programmets speciella situation eftersom de skiljer sig lite från varandra. För att använda olika slingor krävs viss programmeringslogik och för detta ändamål ges mönsterövning till programmerarna eftersom det innebär användning av logisk och resonemang. Det kan vara utskrift av geometriska figurer (som triangel, fyrkant, etc), pyramid, lådor i olika mönster av stjärnor, siffror, karaktärstil på konsolskärmen. Formatet eller grundsyntaxen för slingorna kan skilja sig från ett programmeringsspråk till ett annat men den allmänna logiken för att skriva ut dessa mönster förblir densamma.

Exempel på mönster i Java

Låt oss förstå hur man ritar mönster i Java genom några exempel

Exempel 1: Skriva ut halvpyramiden med siffror.

Koda:

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 exemplet ovan krävs endast två grundläggande slingor för att skriva ut mönstret, den första för slingan är för antalet rader. I vårt fall har vi definierat raderna, dvs 5, annars kan vi också ta ingången från användaren och lagra den i en variabel. Den inre slingan är att skriva ut siffrorna i en viss rad. Efter avslutad 1 rad eller slutet på 'j'-slingan ändras linjen med println ().

Exempel 2: Skriva ut en pil med siffror.

Koda:

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 exemplet ovan måste vi dela upp pilen i två halvor och använda 2 öglor för varje hälft. Under den första halvan av antalet rader är det initiala värdet inställt för rader medan det för det nedre halva radet är 1 mindre än det initiala värdet. Inre öglor för båda halvorna används för att iterera igenom varje rad enligt den yttre slingan.

Exempel 3: Skriva ut full pyramid med stjärnor (*).

Koda:

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 exemplet ovan måste vi göra tre saker, dvs att ha i åtanke det totala antalet rader för utskrift av pyramiden för vilken den första för slingan fungerar från 1 till rader variabel. För det andra måste vi först skriva ut utrymmena i pyramiden och sedan mönstret (*) efter mellanrummen. För denna andra och tredje används slingor som är inuti den yttre slingan 'i'.

Exempel 4: Skriva ut halv omvänd pyramid med siffror.

Koda:

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 halvpyramid är lätt eftersom vi behöver hantera siffrorna, * eller tecknen som vi skriver ut, men för den omvända pyramiden måste vi först skriva ut mellanslag och därefter mönstret som är (*) i vårt fall. Så 3 för öglor används som fungerar på samma sätt som de i fallet med full pyramiden.

Exempel 5: Skriva ut halvpyramiden med alfabet.

Koda:

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 skrivs ut med samma logik som används i exemplet ovan med 2 för öglor, en för antalet rader och andra för teckenutskrift i en viss rad. Men det viktigaste som bör noteras är hanteringen av karaktärsdata. 'A' har ett numeriskt värde 65 i Java så all matematisk logik utförs med hjälp av det numeriska värdet på alfabetet och i slutändan skrivs det ut i teckenformatet.

Exempel 6: Utskriftsmönster för alfabet.

Koda:

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äggande mönstret som följdes för att hantera teckenvärdet och 2 för slingor i exemplet ovan liknar exempel 5 endast skillnaden är den enkla logiken som används för att skriva ut det önskade mönstret.

Exempel 7: Skriva ut fyrkant med stjärnor (*).

Koda:

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:

För utskrift av kvadrat behöver vi längd och bredd, dvs båda sidor av fyrkanten bör vara desamma, vilket är 5 i vårt fall. Så den första för slingan används för längden eller antalet rader i kvadratet och den inre för slingan används för kvadratets bredd, dvs 5 stjärnor i en enda rad.

Exempel 8: Skriva ut rektangel med stjärnor (*).

Koda:

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äggande logiken för att skriva ut rektangeln på (*) är densamma som att skriva ut rutor, den enda skillnaden mellan är olika längd och bredd på rektangeln. Här är 'i' slingan för rektangelns längd och den inre 'j' slingan är för slingans bredd. I vårt program tas det som ett konstant värde, vi kan också fråga användaren och lagra dem i separata variabler.

Exempel 9: Skriva ut en diamant med stjärnor.

Att skriva ut en diamant i Java är en mycket enkel process. Det handlar om att skriva ut 2 pyramider, 1 i uppåtgående riktning och en annan i en inverterad riktning. Så i princip måste vi använda slingorna på samma sätt som vi gör kodningen för att skriva ut två separata pyramider.

Koda:

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 exemplet ovan tillämpas nästan samma logik för att skapa både pyramiderna, en i uppåtgående riktning och en annan i en inverterad riktning. Allra första för loop är antalet rader eller rader i mönstret och ytterligare två för slingor är för mellanslag och stjärnorna (*) i mönstret.

Produktion:

Exempel 10: Skriva ut binära siffror i trappformat.

Koda:

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 exemplet ovan, för att skriva ut binärt mönster, används yttre för slinga 'i' för det totala antalet rader och det inre för slingan 'j' används för att iterera till den yttre slingan 'i' eftersom den första raden behöver vi 1 värde, för den andra raden behöver vi 2 värden, och så vidare. Om och på annat sätt uttalanden används för att skriva ut alternativt värde på 0 och 1. Anta för första gången i = 1, j = 1 och 1% 2! = 0 skrivs 1 ut och exekveringen kommer att flytta ut ur inre slinga.

Exempel 11: Program för att skriva ut upprepande alfabetmönster.

Koda:

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 exemplet ovan, om vi observerar varje rad med mönster, måste vi skriva ut alfabetet först i ökande ordning, dvs AB och sedan i omvänd ordning, dvs AB A. För detta behöver vi 3 slingor, 1: a för slinga för det totala antalet rader. 2: a för loop för att skriva ut alfabeterna i ökande ordning, sedan den 3: a för slingan som finns kvar i den yttre 'i' -slingan och skriver ut alfabeterna i samma rad men i omvänd ordning av 'j'-loopen.

Slutsats

Exemplet ovan och deras förklaringar visar tydligt hur man skapar sådana mönster i Java. Även om dessa mönster verkar vara svåra från början men iakttagande av dem djupt om hur upprepningen av mönstret sker i en enda rad och beroende på hur många slingor som ska användas, blir det lätt att göra praktiska på detta. Idag också i intervjuer med stora företag uppmanas kandidater att skriva logiken för mönster med olika svårighetsgrader. Eftersom detta mönsterframställning visar den enskilda grundläggande logiska och programmeringskunskapen.

Rekommenderad artikel

Detta har varit en guide till Mönster i Java. Här diskuterar vi Introduktion till mönster i Java och exemplen på olika mönster tillsammans med output. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Stjärnamönster i Java
  2. Ramar i Java
  3. Layout i Java
  4. Introduktion till mönster i PHP
  5. Mönster i JavaScript med exempel

Kategori: