Sissejuhatus Java mustritesse

Artiklis Java mustrid on enne Java programmeerimiskeele õppimist ja sügavamale arenenud kontseptsioonide uurimist väga oluline ja ennekõike osa silmuste toimimisest. Ehkki on olemas 3 tüüpi silmuseid, mis on mõeldud nii silmuste kui ka aegsete silmuste jaoks. Igat silmust kasutatakse vastavalt programmi konkreetsele olukorrale, kuna need erinevad üksteisest pisut. Erinevate silmuste kasutamiseks on vaja teatavat programmeerimisloogikat ja selleks antakse programmeerijatele mustripraktika, kuna see hõlmab loogilise ja mõttekäigu kasutamist. See võib olla geomeetriliste kujundite (nt kolmnurk, ruut jne), püramiidi, mitmesuguste tähtede, numbrite ja tähemärkide kujundite printimine konsooli ekraanile. Silmuste vorming või põhiline süntaks võib programmeerimiskeelest erineda, kuid nende mustrite printimise üldine loogika jääb samaks.

Näide Java mustritest

Mõistame mõne näite abil Java-s mustrite joonistamist

Näide1: poolpüramiidi printimine numbrite abil.

Kood:

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

Väljund:

Ülaltoodud näites on mustri printimiseks vaja ainult 2 põhisilmust, esimene silmuse jaoks on ridade arv. Meie puhul oleme määratlenud read, st 5, vastasel juhul võime ka kasutajalt sisendi võtta ja selle muutujasse salvestada. Sisemine silmus on numbrite printimine konkreetses reas. Pärast 1 rea lõpetamist või 'j' silmuse lõppu muudetakse rida, kasutades println ().

Näide2: numbrite printimise nool.

Kood:

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

Väljund:

Ülaltoodud näites peame noole jagama kaheks pooleks ja kasutama kummagi poole jaoks 2 silmust. Ridade arvu esimesel poolel oleks ridadele seatud algväärtus, alumise poole puhul on aga 1 väärtus väiksem algväärtusest. Mõlema poole sisemisi silmuseid kasutatakse iga rea ​​iteratsiooniks vastavalt välimisele silmusele.

Näide3: täispüramiidi printimine tähtede abil (*).

Kood:

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

Väljund:

Ülaltoodud näites peame tegema 3 asja, st pidades silmas püramiidi printimiseks vajalike ridade koguarvu, mille jaoks esimene silmuse jaoks töötab muutuja 1-ni. Teiseks tuleb kõigepealt printida tühikud püramiidis ja seejärel tühikute järel muster (*). Selle teise ja kolmanda jaoks kasutatakse silmuseid, mis asuvad välimise silmuse 'i' sees.

Näide 4: Poole pöördpüramiidi printimine numbrite abil.

Kood:

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

Väljund:

Lihtne poolpüramiid on lihtne, kuna peame käsitsema numbreid, * või tähemärke, mida prindime, kuid tagurpidi püramiidi jaoks tuleb kõigepealt printida tühikud ja seejärel muster, mis meie puhul on (*). Nii et silmuste jaoks 3 kasutatakse samamoodi kui täispüramiidi korral.

Näide 5: poolpüramiidi printimine tähestike abil.

Kood:

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

Väljund:

Püramiid trükitakse sama loogikaga nagu ülaltoodud näites, kasutades 2 silmuste jaoks, üks ridade arvu jaoks ja teised konkreetse rea märkide printimiseks. Kuid peamine asi, mida tuleks tähele panna, on märkide andmete käsitlemine. A-numbri arvväärtus on Java-s 65, seega kasutatakse kogu matemaatilist loogikat tähestiku arvväärtuse abil ja lõpuks trükitakse see tähemärgivormingus.

Näide 6: Tähestike trükimuster.

Kood:

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

Väljund:

Ülaltoodud näites tähemärgi väärtuse ja silmuste arvu 2 käsitlemiseks kasutatud põhimuster on sarnane näitele 5, erinevus on ainult lihtsa loogika abil, mida kasutatakse soovitud mustri printimiseks.

Näide 7: ruudu printimine tähtedega (*).

Kood:

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

Väljund:

Ruudu printimiseks vajame pikkust ja laiust, st ruudu mõlemad küljed peaksid olema samad, mis meie puhul on 5. Nii et esimest silmuse jaoks kasutatakse ruudu pikkuse või ridade arvu jaoks ja sisemist silmuse jaoks ruudu laiuse jaoks, st 5 tähte ühes reas.

Näide 8: ristküliku printimine tähtede abil (*).

Kood:

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

Väljund:

(*) Ristküliku printimise põhiloogika on sama, mis ruutude printimisel, ainus erinevus on ristküliku erinev pikkus ja laius. 'I' silmus on siin ristküliku pikkuseks ja sisemine 'j' silmus on silmuse laiuseks. Meie programmis võetakse seda konstantse väärtusena, võime ka kasutajalt küsida ja salvestada need eraldi muutujatesse.

Näide 9: Teemandi printimine tähtedega.

Teemandi printimine Java-s on väga lihtne protsess. See hõlmab 2 püramiidi printimist, 1 ülespoole ja teine ​​ümberpööratud suunas. Nii et põhimõtteliselt peame silmuseid kasutama samal viisil nagu kahe eraldi püramiidi printimiseks.

Kood:

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

Ülaltoodud näites rakendatakse mõlema püramiidi loomisel peaaegu ühte ja sama loogikat: ühte ülespoole ja teist ümberpööratud suunas. Kõige esimene silmus on skeemi ridade või ridade arv mustris ja veel kaks silmuste jaoks on tühikute ja tähe (*) mustri mustris.

Väljund:

Näide 10: Binaarsete numbrite printimine treppide vormingus.

Kood:

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

Väljund:

Ülaltoodud näites kasutatakse binaarse mustri printimiseks välist silmuse 'i' jaoks ridade koguarvu ja sisemise silmuse 'j' jaoks iteratsiooni välimise silmuse 'i' jaoks, kuna 1. reas vajame 1 väärtust, 2. reas vajame 2 väärtust jne. Kui ja teistes lausetes kasutatakse alternatiivsete väärtuste 0 ja 1 printimiseks, siis oletame esimest korda, et i = 1, j = 1 ja 1% 2! = 0, siis trükitakse 1 ja täitmine kolib sisemine silmus.

Näide 11: korduva tähestiku mustri printimise programm.

Kood:

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

Väljund:

Ülaltoodud näites, kui jälgime igat mustri rida, peame printima kõigepealt tähestiku kasvavas järjekorras, st AB ja seejärel vastupidises järjekorras, st AB A. Selleks vajame 3 silmust, 1. silmus ridade koguarvu jaoks. 2. silmus, et printida tähestikud kasvavas järjekorras, siis kolmas, kui silmus, mis jääb välimisse i-ahelasse ja prindib tähestikud samal real, kuid vastupidises järjekorras, j-silmus.

Järeldus

Ülaltoodud näide ja nende selgitused näitavad selgelt, kuidas Java-s selliseid mustreid luua. Kuigi need mustrid tunduvad alguses keerulised, kuid jälgides neid sügavalt, kuidas mustri kordus toimub ühes reas ja vastavalt sellele, kui palju silmuseid tuleks kasutada, on seda hõlbus teha. Täna palutakse kandidaatidel ka suurte ettevõtete intervjuudes kirjutada erineva raskusastmega mustrite loogika. Kuna see mustri tegemine näitab inimese põhilisi loogilisi ja programmeerimisteadmisi.

Soovitatav artikkel

See on Java mustrite teejuht. Siin käsitleme Java mustrite sissejuhatust ja erinevate mustrite näiteid koos väljundiga. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Tähemustrid Java-s
  2. Raamid Java
  3. Paigutus Java-s
  4. Sissejuhatus PHP mustritesse
  5. Mustrid JavaScriptis koos näidetega

Kategooria: