Introducere în tiparele în Java

În articolul Patterns in Java, înainte de a învăța orice limbaj de programare în Java și pentru a te afunda în conceptele avansate, este foarte important și în primul rând să înțelegem modul de lucru al buclelor. Cu toate că există 3 tipuri de bucle care sunt pentru, în timp și pentru a face în timp buclă. Fiecare buclă este utilizată în funcție de situația particulară a unui program, deoarece acestea sunt ușor diferite unele de altele. Pentru a utiliza diverse bucle necesită o anumită logică de programare și, în acest scop, programatorii sunt practicați programatorilor, deoarece implică utilizarea puterii logice și de raționament. Poate fi imprimarea unor figuri geometrice (cum ar fi triunghi, pătrat etc.), piramidă, cutii în diferite modele de stele, numere, stil de caractere pe ecranul consolei. Formatul sau sintaxa de bază a buclelor poate diferi de la un limbaj de programare la altul, dar logica generală de imprimare a acestor tipare rămâne aceeași.

Exemplu de modele în Java

Să înțelegem cum să desenăm tiparele în Java prin câteva exemple

Exemplul 1: Tipărirea semipiramidei folosind numere.

Cod:

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

ieşire:

În exemplul de mai sus, sunt necesare doar 2 bucle de bază pentru a imprima modelul, prima pentru buclă este pentru numărul de rânduri. În cazul nostru am definit rândurile, adică 5, în caz contrar, putem lua și intrarea de la utilizator și să o stocăm într-o variabilă. Bucla interioară constă în tipărirea numerelor într-un anumit rând, după finalizarea a 1 rând sau a sfârșitului buclei 'j', linia este modificată folosind println ().

Exemplu 2: Tipărirea săgeții numerelor.

Cod:

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

ieşire:

În exemplul de mai sus, trebuie să împărțim săgeata în două jumătăți și să folosim 2 bucle pentru fiecare jumătate. În prima jumătate a numărului de rânduri ar fi valoarea inițială setată pentru rânduri, în timp ce pentru jumătatea inferioară numărul de rânduri este cu 1 mai mic decât valoarea inițială. Buclele interioare pentru ambele jumătăți sunt utilizate pentru a itera prin fiecare rând în funcție de bucla exterioară.

Exemplu 3: Tipărirea piramidelor complete folosind stele (*).

Cod:

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

ieşire:

În exemplul de mai sus, trebuie să facem 3 lucruri, adică ținând cont de numărul total de rânduri pentru imprimarea piramidei pentru care prima pentru buclă funcționează de la 1 la rânduri variabilă. În al doilea rând, trebuie mai întâi să tipărim spațiile din piramidă și apoi modelul (*) după spații. Pentru acest al doilea și al treilea se folosesc buclele care se află în interiorul buclei exterioare 'i'.

Exemplul 4: Tipărirea piramidei pe jumătate inversă folosind numere.

Cod:

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

ieşire:

Semidiramida simplă este ușoară, deoarece trebuie să gestionăm numerele, * sau caracterele pe care le imprimăm, dar pentru piramida inversă, trebuie să imprimăm mai întâi spațiile și după aceea modelul (*) în cazul nostru. Deci 3 pentru bucle sunt utilizate funcționând similar cu cele în cazul piramidei complete.

Exemplul 5: Tipărirea semipiramidei folosind alfabetele.

Cod:

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

ieşire:

Piramida este tipărită cu aceeași logică ca în exemplul de mai sus folosind 2 pentru bucle, unul pentru numărul de rânduri și altele pentru tipărirea caracterelor într-un anumit rând. Dar principalul lucru care trebuie remarcat este manipularea datelor de caracter. „A” are o valoare numerică 65 în Java, astfel încât toată logica matematică este realizată folosind valoarea numerică a alfabetului și, în final, este tipărită în formatul de caractere.

Exemplul 6: Tiparul de tipărire al alfabetelor.

Cod:

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

ieşire:

Modelul de bază urmat pentru a trata valoarea caracterului și cele 2 pentru bucle din exemplul de mai sus este similar cu Exemplul 5. O singură diferență fiind logica simplă folosită pentru a tipări modelul dorit.

Exemplul 7: Tipărirea pătratului folosind stele (*).

Cod:

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

ieşire:

Pentru imprimarea pătratului, avem nevoie de lungime și lățime, adică ambele părți ale pătratului trebuie să fie aceleași, ceea ce este 5 în cazul nostru. Deci prima pentru buclă este folosită pentru lungimea sau numărul de rânduri în pătrat, iar interiorul pentru buclă este folosit pentru lățimea pătratului, adică 5 stele într-un singur rând.

Exemplul 8: Tipărirea dreptunghiului folosind stele (*).

Cod:

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

ieşire:

Logica de bază a tipăririi dreptunghiului din (*) este aceeași cu tipărirea pătratelor, singura diferență între lungimea și lățimea diferitelor dreptunghi. Aici bucla "i" este pentru lungimea dreptunghiului, iar bucla "j" interioară este pentru lățimea buclei. În programul nostru, este luat ca o valoare constantă, putem solicita utilizatorului și să le stocheze în variabile separate.

Exemplul 9: Tipărirea unui diamant folosind stele.

Tipărirea unui diamant în Java este un proces foarte simplu. Ea presupune imprimarea a 2 piramide, 1 în direcția ascendentă și alta în direcție inversată. Deci, practic, trebuie să folosim buclele în același mod în care facem codificarea pentru tipărirea a două piramide separate.

Cod:

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

În exemplul de mai sus, aproape aceeași logică este aplicată pentru crearea ambelor piramide, una în direcție ascendentă și alta în direcție inversată. Foarte întâi pentru buclă este pentru numărul de linii sau rânduri din model și alte două pentru bucle sunt pentru spații și modelul stelelor (*) din model.

ieşire:

Exemplul 10: Tipărirea numerelor binare în format scara.

Cod:

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

ieşire:

În exemplul de mai sus, pentru a imprima un model binar, exteriorul pentru bucla 'i' este utilizat pentru numărul total de rânduri, iar interiorul pentru bucla 'j' este folosit pentru a itera până la bucla exterioară 'i', deoarece pentru Primul rând avem nevoie de 1 valoare, pentru al doilea rând avem nevoie de 2 valori și așa mai departe. Dacă și alte instrucțiuni sunt utilizate pentru a imprima o valoare alternativă de 0 și 1. Să presupunem pentru prima dată i = 1, j = 1 și 1% 2! = 0, atunci 1 este tipărit și execuția va ieși din bucla interioară

Exemplul 11: Program pentru tipărirea modelului alfabetului repetat.

Cod:

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

ieşire:

În exemplul de mai sus, dacă observăm fiecare rând de model, trebuie să tipărim mai întâi alfabetul în ordinea în creștere, adică AB și apoi în ordine inversă, adică AB A. Pentru aceasta, avem nevoie de 3 bucle, primul pentru bucla pentru numărul total de rânduri. A 2-a pentru buclă pentru a imprima alfabetele în ordine crescătoare, apoi a 3-a pentru buclă care rămâne în interiorul buclei „exterioare” și tipărește alfabetele în aceeași linie, dar în ordine inversă a buclei „j”.

Concluzie

Exemplul de mai sus și explicațiile lor arată clar cum se pot realiza astfel de modele în Java. Deși aceste modele par a fi dificile la început, dar observarea lor profundă a modului în care repetarea modelului se întâmplă într-un singur rând și în funcție de câte bucle ar trebui utilizate, devine ușor de făcut acest lucru. Astăzi, de asemenea, în interviuri ale marilor companii, candidații sunt rugați să scrie logica tiparelor cu diferite niveluri de dificultate. Deoarece acest model de modelare arată cunoștințele logice și de programare de bază ale unui individ.

Articol recomandat

Acesta a fost un ghid pentru Tiparele în Java. Aici vom discuta Introducerea modelelor în Java și exemplele de modele diferite împreună cu rezultatul. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Modele de stele în Java
  2. Cadre în Java
  3. Aspect în Java
  4. Introducere în tiparele în PHP
  5. Modele în JavaScript cu exemple