Programe de model în JavaStea, Piramidă și Număr de imprimare

⚡ Rezumat inteligent

Programe de modele în Java tipăriți stele, numere sau litere într-o formă fixă, iar fiecare dintre ele este construită din bucle imbricate unde bucla exterioară numără rândurile, iar buclele interioare plasează spații și caractere.

  • 🔘 Definiție: Imprimarea modelelor aranjează simboluri, cifre sau litere într-o formă definită pe consolă.
  • ☑️ Categorii: Există trei grupuri, și anume modele de stele, modele de numere și modele de caractere.
  • ✅ Structura: Bucla exterioară controlează rândurile, în timp ce buclele interioare gestionează spațiile inițiale și caracterele imprimate.
  • 🧪 Exemple: Sunt acoperite programele cu semitriunghi, clepsidră, romb, triunghi opus și piramidă cu litere.
  • 🛠️ Tehnica: Formele de caractere transformă o valoare int în char, începând de la 65 pentru litera A.
  • 📊 Beneficiu: Modelele de scriere perfecționează controlul buclelor, aritmetica indexurilor și abilitățile de simulare pentru interviuri.

Programe de model în Java pentru a imprima forme de stea, piramidă și numere

Programele de imprimare a modelelor sunt modele sau simboluri care includ litere sau alte caractere într-un anumit format. Java codificarea modelelor crește construcția logică a programatorilor, ceea ce îi ajută să devină buni programatori.

Fiecare exemplu de aici necesită doar bucle imbricate și funcții de bază Java sintaxă.

Categorii de modele

Putem desena modele nenumărate Java, iar toate modelele pot fi executate în trei moduri diferite.

Există trei categorii principale utilizate pentru a identifica Java programe de tipare.

  • Model de stea: In Java programe de model de stele, modelele de stele sunt o serie de asteriscuri (*) folosit pentru a crea diferite forme, cum ar fi un program de model de piramidă, triunghi strâns, triunghi stâng, formă de romb, pătrat și multe alte modele în Java.
  • Model numeric: Pentru a exersa instrucțiunile de control al fluxului, un alt tip de model sunt programele de model numeric în JavaProgramele cu modele numerice constau în numere/numărări. În mare parte, setăm valoarea lui „i”, care este un iterator de buclă pentru a genera numere în programarea cu modele. Numărul minim de bucle pentru modelul numeric este, de asemenea, două. Programul cu modele numerice din Java funcționează și la sistemul de rânduri și coloane.
  • Model de caractere: Programarea modelului de caractere constă din caractere care sunt în alfabete engleze. Acesta este un alt mod de a vă îmbunătăți abilitățile de codare, dar aici ne ocupăm de personaje, nu de numere sau stele. Modelul poate avea același caracter în întregul model sau poate avea caractere diferite, depinde de logica aplicată.

Tabelul de mai jos arată ce se schimbă între categorii.

Categorii Unitate imprimată De unde provine valoarea tipărită Eșantion de ieșire
Model de stea Asterisc Un simbol fix, deci se schimbă doar limitele buclei * * *
Model numeric Digit Iteratorul de buclă i sau j afișat direct 1 2 3
Model de caractere Scrisoare O valoare int seed transformată în char, începând de la 65 pentru A ABC

În toate cele trei cazuri, bucla exterioară numără rândurile, o buclă interioară imprimă spațiile de aliniere, iar o a doua imprimă caracterele vizibile. Se modifică doar unitatea imprimată.

Aceleași abilități de buclă ghidează alte exerciții clasice, cum ar fi sortare prin selecție, sortare inserție, Şi Numărul Armstrong programul.

Modelele de stea sunt primele, deoarece simbolul nu se schimbă niciodată și contează doar limitele buclei.

Programe Star Patterns în Java

Modelele de stea imprimă un asterisc pe consolă, forma modelului depinde în întregime de codul pe care îl scrieți.

Program cu model de stea cu jumătate de triunghi stânga:

Programul de mai jos afișează acest semitriunghi stângaci:

Rezultatul consolei arată un semitriunghi stâng format din stele pe șase rânduri

public class LeftStarPattern{    
public static void main(String args[]){    
 int i, j, row = 6;       
   for (i=0; i<row; i++)    {  
      for (j=2*(row-i); j>=0; j--)         
      {  System.out.print(" ");  
	  }   
        for (j=0; j<=i; j++ )   
		{   
			System.out.print("* "); 
		}   
	System.out.println();  
	}
  }
}

Code explicaţie:

  • Declara int i, int j. Declarați și inițializați variabila rând ca an int rând.
  • i este iteratorul pentru bucla exterioară „for” și, j este un iterator pentru bucla interioară „for”, „rând” conține un număr de rânduri pe care piramida ar trebui să le aibă.
  • În imbricat pentru, „pentru” exterior reprezintă rânduri, iar „pentru” interior reprezintă coloane.
  • În „for” exterior, inițializați iteratorul „i” cu 0, setați condiția i< rândul și incrementați i.
  • Acum, bucla interioară „for” este inițializată cu 2*(rând-i) și scade.
  • Elementul „pentru” imbricat imprimă spațiu pe ecranul consolei.
  • În afara corpului „for” imbricat este plasată o altă buclă „for”. Acest „pentru” stea tipărită după ce imbricatul „pentru” este executat. Se face buclă până la j<=i.

Program cu model de stele de nisip:

Două piramide suprapuse produc această clepsidră:

Ieșirea consolei arată o formă de clepsidră construită din două piramide stelare

public class Main
{
    public static void main(String[] args)
    {
        int rows = 5;            
        for (int i= 0; i<= rows-1 ; i++)
        {
            for (int j=0; j <i; j++)
            {
                System.out.print(" ");
            }
            for (int k=i; k<=rows-1; k++)
 { 
System.out.print("*" + " ");
 } 
System.out.println(""); 
} 
for (int i= rows-1; i>= 0; i--)
        {
            for (int j=0; j< i ;j++)
            {
                System.out.print(" ");
            }
            for (int k=i; k<=rows-1; k++)
            {
                System.out.print("*" + " ");
            }
            System.out.println("");
        }
        
    }
}

Code explicaţie:

  • Code începe cu vid static public mână int rânduri va defini numărul de rânduri pe care le va conține sticla de nisip.
  • Există două „pentru” imbricate, primul va afișa piramida descendentă, iar al doilea va afișa piramida ascendentă.
  • În imbricat pentru, „pentru” exterior reprezintă rânduri, iar „pentru” interior reprezintă coloane.
  • În buclele exterioare „for” până la i<= rândul-1, buclele „for” interioare până la i. sistem de imprimare imprimă spațiul de pe consolă.
  • A doua buclă interioară imprimă un asterisc plus spațiu pe consolă.
  • Când prima buclă interioară este executată complet la i=0 după ce a doua buclă interioară este executată complet.
  • Apoi bucla exterioară a crescut. Acest ciclu continuă până când condiția devine falsă.
  • A doua buclă imbricată afișează piramida ascendentă, schimbând doar inițializarea și condiția buclei exterioare a primei bucle imbricate.
  • Va afișa piramida ascendentă. Ambele piramide în jos și în sus vor face model stea din sticlă de nisip.

Program de model de stea în formă de diamant:

O piramidă ascendentă și una descendentă dau acest diamant:

Ieșirea consolei arată un diamant de stele format din două piramide

public class Main
{
	public static void main(String args[])
	{
		int n, i, j, space_0 = 1;
		n = 6;
		space_0 = n - 1;
		for (j = 1; j<= n; j++)
		{
			for (i = 1; i<= space_0; i++)
			{
				System.out.print(" ");
			}
		space_0--;
		for (i = 1; i <= 2 * j - 1; i++)
		{ 
			System.out.print("*");
		}
		System.out.println(""); 
	}
	space_0 = 1;
	for (j = 1; j<= n - 1; j++)
	{
	for (i = 1; i<= space_0; i++)
	{
		System.out.print(" ");
	}
	space_0++;
	for (i = 1; i<= 2 * (n - j) - 1; i++)
	{
		System.out.print("*");
	}
	System.out.println("");
	}
  }
}

Code explicaţie:

  • În model stea cu diamant, „n” este numărul de rânduri, stocat n-1 în spațiu_0.
  • În imbricat pentru, „pentru” exterior reprezintă rânduri, iar „pentru” interior reprezintă coloane.
  • Primul „pentru” imbricat afișează piramida ascendentă. Buclele externe „for” până la n și buclele for interioare până la space_0 bucla interioară afișează spațiul pe consolă.
  • Există un alt „for” interior care circulă până când i<= 2 * j – 1 și afișează o stea în afara acestui sistem de tipărire „for” interior tipărește o linie. Această buclă imbricată imprimă piramida superioară.
  • Celălalt „pentru” imbricat afișează o piramidă descendentă. Buclele exterioare „for” până la i<=n-1, primul „for” interior imprimă spațiu și al doilea interior pentru tipări stea.
  • În afara „pentru” interior, tipăriți spațiul liniei. atât piramida în sus cât și în jos face modelul de diamant.

Program de model spațial cu model de stea triunghi dreptunghic:

Modulul lui j și i introduce aceste goluri:

Ieșirea consolei arată un triunghi dreptunghic de stele cu spațiere bazată pe modul

public class AsterikProgramJava { 
 public static void main(String[] args) { 
  for(int i=1;i<=10;i++) 
  { 
    for(int j=1;j<=i+i;j++)
	{
		int mid; 
		mid=j%i; 
		if(mid==0) 
			System.out.print("* "); 
		else 
			System.out.print("*");
	}
	System.out.print("\n");
	}
 }
}

Code explicaţie:

  • În model de deasupra codul exterior, „pentru” se ocupă de numărul de rânduri, iar „pentru” interior menține coloanele.
  • Când „pentru” exterior este 1, ceea ce înseamnă primul rând, iar când „pentru” interior este 1, înseamnă că este prima coloană.
  • În interiorul „for” interior, declarați o variabilă numită mid și stocați restul j/i. Aceasta împarte valorile i și j pentru a obține modulul.
  • Deci, dacă modulul este 0, atunci afișați un asterisc și un spațiu; în caz contrar, afișați numai un asterisc. În afara „pentru” interior, imprimați o linie.

Modern Java Note: de la Java 11 buclele spațiale pot fi înlocuite de System.out.print(" ".repeat(n))și construind fiecare rând într-un StringBuilder înainte de unu println() Apelul se execută mai rapid. Codul original este păstrat așa cum este scris, deoarece arată explicit calculele aritmetice.

Schimbaping Asteriscul pentru contorul de bucle transformă fiecare formă de stea într-o formă de număr.

Programe cu modele numerice în Java

Modelele numerice constau din numere; putem desena multe forme diferite din modele numerice.

Programul de model de jumătate de triunghi opus:

Numărând invers, apoi crescând, se obține acest triunghi numeric:

Ieșirea consolei arată un semitriunghi opus de numere

public class Number_p  {  
	public static void main(String[] args)   {  
	int i, j, rows_0=5;  
	for (i = rows_0; i >= 1; i--) 
	{  
		for (j = 1; j <= i; j++)  
		{  
			System.out.print(j+" "); 
		}  
		System.out.println();  
	}  
	for (i = 2; i <= rows_0; i++)   {  
		for (j = 1; j <= i; j++) {  
			System.out.print(j+" ");
		}  
		System.out.println(); 
		}
	}
}

Code explicaţie:

  • Pentru a desena acest model, vom folosi două bucle „for” imbricate. Unul va imprima prima piramidă, iar celălalt va afișa a doua piramidă.
  • Declara int i, int j și int row_0 și inițializați rândul cu numărul de rânduri dorit. Aici valoarea rândului este 5.
  • Setați bucla exterioară „for” a primului „for” imbricat, inițializați i după numărul de rânduri și repetați până când i >= și reduceți iteratorul. Acest „pentru” exterior se ocupă de rânduri.
  • În interiorul „for” setați condiția j=1 și repetați până j<=i. În corpul buclei interioare, afișați variabila j cu spațiul.
  • Acum, în al doilea „pentru” imbricat, modificați condiția exterioară „pentru” a primului „pentru” imbricat. Inițializați-l cu 2 și bucla până la rândurile i<=.
  • Și bucla interioară iterează până când se ajunge la i. Apoi afișează mesajul pe consolă, la fel ca și în bucla interioară a primului „for” imbricat în afara corpului spațiului interior al liniilor de printare.

Număr repetat în coloană triunghi dreptunghi Program de model:

Resetarea contorului pe fiecare rând repetă numerele:

Rezultatul consolei arată un triunghi dreptunghic de numere care repornesc de la unu pe fiecare rând

public class Number_pattern  {  
	public static void main(String args[])   
	{   
		int i, j,number, n=7;   
	for(i=0; i<n; i++)  
	{   
		number=1;   
		for(j=0; j<=i; j++)  
		{   
			System.out.print(number+ " ");   
			number++; 
		}   
		System.out.println();   
	} 
  } 
}

Code explicaţie:

  • În codul exemplu, declarați int i, int j, int number, și int n.
  • Apoi inițializați n-ul cu valoarea numărului de rânduri dorit, aici este 7.
  • În exteriorul „for”, începeți bucla de la valoarea 0 și repetați până când se ajunge la n.
  • Puteți inițializa numărul în interiorul sau în afara buclei.
  • În „pentru” interior, repetați până când j este mai mic sau egal cu i atins. Și afișați numărul cu spațiu.
  • În afara corpului „pentru” interior, imprimați spațiul liniei.
  • „Pentru” interior iterează până când starea sa devine falsă. Când această condiție devine falsă, bucla exterioară crește din nou și execută „for” interior până când condiția devine falsă.
  • Această procedură se repetă până când bucla exterioară devine falsă.

Același schelet imprimă litere odată ce o valoare int seed este convertită la char.

Programe de modele de caractere în Java

Modelele de caractere constau din alfabete engleze. Putem realiza programe interesante și minunate cu modele de caractere în Java câteva sunt discutate mai jos.

Programul de modele cu jumătate de piramidă de caractere:

Conversia unui număr întreg (int) la un număr char afișează aceste litere:

Ieșirea consolei afișează o semipiramidă formată din litere majuscule de la A la F

public class Character_p{
    public static void main(String[] args){
        int alphabet = 65;
        for (int i = 0; i <= 5; i++){
            for (int j = 0; j <= i; j++)
            {   
				System.out.print((char) alphabet + " ");}
				alphabet++;
				System.out.println();
			}
		}
}

Code explicaţie:

  • Declarați alfabetul și inițializați-l cu valoarea 65.
  • Exteriorul pentru începe bucla de la 0 și se repetă până când i este 5 sau mai puțin.
  • În interiorul for, bucla începe de la 0 și se repetă până când j este mai mic sau egal cu i.
  • Apoi imprimați caracterul și spațiul pe ecranul de ieșire.
  • Pentru a imprima caractere, introducem alfabetul de la un întreg la altul.
  • În afara corpului său, creșteți alfabetul și imprimați linia pe ecranul de ieșire. (char) convertește valoarea alfabetului într-un caracter.

Model piramidal/triunghi în Java:

O buclă spațială centrează literele într-o piramidă:

Ieșirea consolei arată o piramidă centrată de litere majuscule

public class CharacterPattern  
{              
	public static void main(String[] args){  
		for (int i = 0; i <= 8; i++)   
		{  
			int alphabet_0 = 65;   
			for (int j = 8; j > i; j--)  
			{  
				System.out.print(" ");  
			}  
			for (int k = 0; k <= i; k++)  
			{  
				System.out.print((char) (alphabet_0 + k) + " ");  
			}  
		System.out.println();  
	}  
  }  
} 

Code explicaţie:

  • În acest exemplu de cod, am folosit trei bucle „for”, una este o buclă exterioară și două bucle sunt imbricate în interiorul „for” exterior.
  • „For” exterior începe de la 0 și se închide până când valoarea este 8 sau mai mică.
  • În corpul „for” exterior, am inițializat variabila alfabetică de tip întreg cu o valoare de 65 și am imbricat celălalt „pentru” în corpul său.
  • Primul „for” interior este reversul buclei „for” exterioare, iar în corpul său, spațiu de imprimare pe consolă. În afara corpului său, există un alt „pentru”. Iterează ca bucla exterioară.
  • În corpul celei de-a doua bucle interioare, tipăriți caracterul prin introducerea alfabetului +k și tipăriți-l cu spațiu pe consolă. În afara corpului celui de-al doilea „pentru” interior, imprimați o linie.

Întrebări frecvente

Numără invers de la numărul total de rânduri. O formă aliniată la stânga nu necesită niciun rând, o piramidă centrată necesită rânduri minus indexul curent al rândului, iar exemplul de mai sus folosește 2*(rândul-i).

Asistenții inteligenți artificiali pot compara textul așteptat și cel real din consolă rând cu rând și pot denumi limita buclei care este abatetă cu unu. Rulați din nou programul corectat înainte de a avea încredere în remediere.

Da. Copilotul GitHub produce o formă funcțională dintr-o descriere pe o singură linie. Verificați bucla spațială, deoarece codul generat centrează adesea coloana cu o cifră.

Adăugați un test de delimitare în interiorul buclei celei mai interioare. Imprimați simbolul doar pe primul rând, pe ultimul rând sau pe prima și ultima coloană; imprimați spațiile în altă parte.

Da. O metodă recursivă afișează un rând și se auto-apelează cu un număr crescut, în timp ce o a doua gestionează secvența. Rezultatul este identic, dar buclele evită cadrele suplimentare ale stivei.

Imprimarea unui triunghi cu n rânduri execută aproximativ n²/2 caractere, deci costul este O(n²). Rezultatul în sine crește pătratic, deci niciun algoritm nu imprimă aceeași cifră mai repede.

65 este punctul de cod ASCII și Unicode pentru cifra A majusculă. Conversia lui 65 la char produce A, iar 66 produce B, așadar incrementarea lui int și conversia parcurge alfabetul în ordine.

Acestea expun controlul buclelor, aritmetica indexurilor și capacitatea de a rula codul pe hârtie, fără a fi nevoie de o bibliotecă. Un candidat care traces un rând înțelege de obicei corect iterația imbricată.

Rezumați această postare cu: