Uvod v vzorce na Javi

V članku Vzorci na Javi je pred učenjem katerega koli programskega jezika na Javi in ​​se potopite globoko v napredne koncepte zelo pomembno in predvsem to, da razumete delovanje zank. Čeprav obstajajo 3 vrste zank, ki so za, medtem ko in zanj, dokler ne delate. Vsaka zanka se uporablja glede na specifično situacijo programa, saj se med seboj nekoliko razlikujejo. Za uporabo različnih zank je potrebna nekaj programske logike in v ta namen je programerjem dodeljena praksa vzorcev, saj vključuje uporabo logične in sklepne moči. Lahko je tiskanje geometrijskih figur (kot so trikotnik, kvadrat itd.), Piramide, polja v različnih vzorcih zvezd, številk, slog znakov na konzoli. Oblika ali osnovna skladnja zank se lahko razlikujeta od programskega jezika do drugega, vendar splošna logika tiskanja teh vzorcev ostane enaka.

Primer vzorcev na Javi

Poglejmo, kako narisati vzorce na Javi skozi nekaj primerov

Primer 1: Tiskanje polovice piramide s pomočjo številk.

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

Izhod:

V zgornjem primeru sta za tiskanje vzorca potrebni samo 2 osnovni zanki, prva za zanko je za število vrstic. V našem primeru smo določili vrstice, to je 5, sicer lahko uporabnik tudi vzamemo vhod in ga shranimo v spremenljivko. Notranja zanka je tiskanje številk v določeni vrstici. Po zaključku 1 vrstice ali konca zanke 'j' se vrstica spremeni s println ().

Primer 2: Tiskanje puščic številk.

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

Izhod:

V zgornjem primeru moramo puščico razdeliti na dve polovici in uporabiti 2 zanki za vsako polovico. V prvi polovici števila vrstic bi bila začetna vrednost, določena za vrstice, medtem ko je za spodnjo polovico število vrstic 1 manj od začetne vrednosti. Notranje zanke za obe polovici se uporabljajo za ponavljanje skozi vsako vrstico glede na zunanjo zanko.

Primer 3: Tiskanje polne piramide s pomočjo zvezd (*).

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

Izhod:

V zgornjem primeru moramo narediti 3 stvari, torej upoštevati skupno število vrstic za tiskanje piramide, pri kateri prva za zanko deluje od spremenljivke od 1 do vrstic. Drugič, najprej moramo natisniti presledke v piramidi in nato presledke (*) za presledke. Za to drugo in tretjo se uporabljajo zanke, ki so znotraj zunanje zanke 'i'.

Primer 4: Tiskanje polovice obratne piramide s pomočjo številk.

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

Izhod:

Preprosta polovična piramida je enostavna, saj moramo obdelovati številke, * ali znake, ki jih tiskamo, pri obratni piramidi pa moramo najprej natisniti presledke in zatem vzorec, ki je (*) v našem primeru. Torej 3 za zanke se uporabljajo podobno kot v primeru polne piramide.

Primer 5: Tiskanje polovice piramide z uporabo abecede.

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

Izhod:

Piramida je natisnjena z isto logiko, kot je bila uporabljena v zgornjem primeru, z dvema zankama, eno za število vrstic in drugo za tiskanje znakov v določeni vrstici. Toda glavna stvar, ki jo je treba opozoriti, je ravnanje s podatki o znakih. 'A' ima v Java numerično vrednost 65, tako da se vsa matematična logika izvede s pomočjo numerične vrednosti abecede in na koncu se natisne v obliki znakov.

Primer 6: Vzorec tiskanja abecede.

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

Izhod:

Osnovni vzorec, ki se uporablja za obravnavo vrednosti znakov in 2 za zanke v zgornjem primeru, je podoben različici primera 5, le da je preprosta logika za tiskanje želenega vzorca.

Primer 7: Tiskanje kvadrata z zvezdicami (*).

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

Izhod:

Za tisk kvadrata potrebujemo dolžino in širino, torej naj bosta obe strani kvadrata enaki, kar je v našem primeru 5. Torej prva za zanko se uporablja za dolžino ali število vrstic v kvadratu, notranja za zanko pa se uporablja za širino kvadrata, to je 5 zvezdic v eni vrstici.

Primer 8: Tiskanje pravokotnika s pomočjo zvezd (*).

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

Izhod:

Osnovna logika tiskanja pravokotnika (*) je enaka tiskanju kvadratov, edina razlika med njima je različna dolžina in širina pravokotnika. Tu je zanka 'i' za dolžino pravokotnika, notranja zanka 'j' pa za širino zanke. V našem programu jemljemo kot stalno vrednost, uporabnika lahko tudi vprašamo in ga shranimo v ločene spremenljivke.

Primer 9: Tiskanje diamanta s pomočjo zvezd.

Tiskanje diamanta na Javi je zelo preprost postopek. Vključuje tiskanje 2 piramid, 1 v smeri navzgor in drugo v obrnjeno smer. V bistvu moramo zanke uporabiti na enak način kot kodiranje za tiskanje dveh ločenih piramid.

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

V zgornjem primeru se uporablja skoraj enaka logika za ustvarjanje obeh piramid, ene v smeri navzgor in druge v obrnjeni smeri. Najprej za zanko je število vrstic ali vrstic v vzorcu, drugi dve zanki pa za presledke in zvezde (*) v vzorcu.

Izhod:

Primer 10: Tiskanje binarnih številk v obliki stopnic.

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

Izhod:

V zgornjem primeru je za tiskanje binarnega vzorca zunanji za zanko 'i' uporabljen za skupno število vrstic, notranji za zanko 'j' pa za ponavljanje do zunanje zanke 'i', ker za 1. vrstica potrebujemo 1 vrednost, za 2. vrstico potrebujemo 2 vrednosti in tako naprej. Če in druge stavke uporabljamo za tiskanje nadomestnih vrednosti 0 in 1. Predpostavimo, da prvič i = 1, j = 1 in 1% 2! = 0, potem se natisne 1 in izvedba se premakne iz notranja zanka.

Primer 11: Program za tiskanje ponavljajočih se vzorcev abecede.

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

Izhod:

V zgornjem primeru, če opazujemo vsako vrstico vzorca, moramo abecedo najprej natisniti v naraščajočem vrstnem redu, tj. AB in nato v obratnem vrstnem redu, tj. AB A. Za to potrebujemo 3 zanke, 1. za zanka za skupno število vrstic. 2. za zanko za tiskanje abecede v naraščajočem vrstnem redu, potem tretja za zanko, ki ostane znotraj zunanje zanke 'i' in tiska abecede v isti vrstici, vendar v obratnem vrstnem redu zanke 'j'.

Zaključek

Zgornji primer in njihove razlage jasno kažejo, kako narediti takšne vzorce na Javi. Čeprav se zdi, da so ti vzorci na začetku težavni, vendar jih globoko opazujemo, kako se ponavlja ponavljanje vzorca v eni vrsti in glede na to, koliko zank je treba uporabiti, je to enostavno narediti z roko. Danes tudi kandidati v intervjujih za velika podjetja pišejo logiko vzorcev različnih težavnostnih stopenj. Ker ta vzorec kaže osnovno logično in programsko znanje posameznika.

Priporočeni članek

To je vodnik za vzorce na Javi. Tukaj obravnavamo Uvod v vzorce na Javi in ​​primere različnih vzorcev skupaj z rezultati. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Zvezdni vzorci na Javi
  2. Okviri na Javi
  3. Postavitev v Javi
  4. Uvod v vzorce v PHP
  5. Vzorci v JavaScript s primeri