Vzorové programy v JavaTisk hvězdy, pyramidy a čísla

⚡ Chytré shrnutí

Vzorové programy v Java vytiskněte hvězdy, čísla nebo písmena v pevném tvaru a každý z nich je sestaven z vnořených smyček, kde vnější smyčka počítá řádky a vnitřní smyčky umisťují mezery a znaky.

  • 🔘 Definice: Tisk vzorů uspořádává symboly, číslice nebo písmena do definovaného tvaru na konzoli.
  • ☑️ kategorie: Existují tři skupiny, a to vzory hvězd, vzory čísel a vzory znaků.
  • (Tj. Struktura: Vnější smyčka řídí řádky, zatímco vnitřní smyčky zpracovávají úvodní mezery a tištěné znaky.
  • 🧪 Příklady: Jsou zahrnuty programy s polovičními trojúhelníky, přesýpacími hodinami, diamanty, protilehlými trojúhelníky a písmenovými pyramidami.
  • 🛠️ Technika: Tvary znaků převádějí celočíselné číslo na char, počínaje číslem 65 pro písmeno A.
  • 📊 Výhoda: Vzory psaní zdokonalují ovládání smyček, indexovou aritmetiku a dovednosti v nacvičování pohovorů.

Vzorové programy v Java tisk tvarů hvězdy, pyramidy a čísla

Programy pro tisk vzorů jsou návrhy nebo symboly, které obsahují písmena nebo jiné znaky v určitém formátu. Java kódování vzorů zvyšuje logické budování programátorů, což jim pomáhá stát se dobrými programátory.

Každý příklad zde potřebuje pouze vnořené smyčky a základní Java syntax.

Kategorie vzorů

Můžeme nakreslit nespočet vzorů Javaa všechny vzory lze provést třemi různými způsoby.

K identifikaci slouží tři hlavní kategorie Java vzorové programy.

  • Hvězdný vzor: In Java hvězdicové vzory, hvězdicové vzory jsou série hvězdičky (*) používá se k vytváření různých tvarů, jako je například pyramidový hvězdicový vzor, ​​úzký trojúhelník, levý trojúhelník, diamantový tvar, čtverec a mnoho dalších vzorů v programu Java.
  • Vzor čísel: Pro procvičování příkazů pro řízení toku jsou dalším typem vzoru programy s číselnými vzory v JavaProgramy s číselnými vzory se skládají z čísel/počítání. Většinou nastavujeme hodnotu 'i', což je iterátor smyčky pro generování čísel v programování vzorů. Nejmenší počet smyček pro číselný vzor je také dva. Program s číselnými vzory v Java funguje také na systému řádků a sloupců.
  • Vzor postavy: Programování vzoru znaků se skládá ze znaků, které jsou v anglické abecedy. Toto je další způsob, jak zlepšit své kódovací dovednosti, ale zde se zabýváme postavami, nikoli čísly nebo hvězdami. Vzor může mít stejný charakter v celém vzoru nebo může mít různé znaky v závislosti na použité logice.

Níže uvedená tabulka ukazuje, jaké jsou změny mezi kategoriemi.

Kategorie Tištěná jednotka Odkud pochází vytištěná hodnota Ukázkový výstup
Hvězdný vzor Hvězdička Pevný symbol, takže se mění pouze hranice smyčky * * *
Číselný vzor Digit Iterátor smyčky i nebo j se vytiskne přímo 1 2 3
Vzor znaku Dopis Celočíselné semínko převedené na char, počínaje 65 pro A ABC

Ve všech třech případech vnější smyčka počítá řádky, jedna vnitřní smyčka tiskne zarovnávací mezery a druhá tiskne viditelné znaky. Mění se pouze tisknutá jednotka.

Stejné dovednosti s cykly jsou základem i dalších klasických cvičení, jako například řazení výběrem, řazení řazeníA Armstrongovo číslo program.

Hvězdné vzory jsou na prvním místě, protože symbol se nikdy nemění a záleží pouze na hranicích smyčky.

Programy hvězdných vzorů v Java

Hvězdné vzory vytisknou na konzole hvězdičku, tvar vzoru zcela závisí na kódu, který napíšete.

Program polovičního levého trojúhelníku s hvězdou:

Následující program vytiskne tento poloviční levý trojúhelník:

Výstup konzole zobrazující polovinu levého trojúhelníku hvězd v šesti řádcích

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 vysvětlení:

  • Prohlásit int i, int j. Deklarujte a inicializujte proměnnou řádku jako an int řádek.
  • i je iterátor pro vnější smyčku „for“ a j je iterátor pro vnitřní smyčku „for“, „řádek“ obsahuje počet řádků, které by pyramida měla mít.
  • Ve vnořeném for představuje vnější 'for' řádky a vnitřní 'for' představuje sloupce.
  • Ve vnějším 'for' inicializujte iterátor 'i' s 0, nastavte podmínku i< řádek a inkrementujte i.
  • Nyní je vnitřní smyčka 'for' inicializována s 2*(řádek-i) a snižuje se.
  • Vnořené „pro“ vytiskne místo na obrazovce konzoly.
  • Mimo tělo vnořené smyčky 'for' je umístěna další smyčka 'for'. toto 'pro' tisknout hvězdu po provedení vnořeného 'for'. Opakuje se, dokud j<=i.

Program vzorů přesýpacích hvězd:

Dvě naskládané pyramidy vytvářejí tyto přesýpací hodiny:

Výstup konzole zobrazující tvar přesýpacích hodin sestavený ze dvou hvězdicových pyramid

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 vysvětlení:

  • Code začíná s veřejná statická prázdnota hlavní, int řádků bude definovat počet řad, které bude pískové sklo obsahovat.
  • Jsou zde dvě vnořené 'pro', první zobrazí sestupnou pyramidu a druhé zobrazí vzestupnou pyramidu.
  • Ve vnořeném for představuje vnější 'for' řádky a vnitřní 'for' představuje sloupce.
  • Ve vnějších smyčkách „for“ až do i<= řádek-1, vnitřní smyčky „for“ až do i. tiskový systém vytiskne místo na konzole.
  • Druhá vnitřní smyčka vytiskne na konzole hvězdičku plus mezeru.
  • Když je první vnitřní smyčka plně provedena při i=0 po úplném provedení druhé vnitřní smyčky.
  • Poté se vnější smyčka zvýšila. Tento cyklus pokračuje, dokud se podmínka nezmění.
  • Druhá vnořená smyčka zobrazuje vzestupnou pyramidu, pouze mění inicializaci a stav vnější smyčky první vnořené smyčky.
  • Zobrazí vzestupnou pyramidu. Jak dolů, tak nahoru pyramidy budou dělat přesýpací hvězda vzor.

Program vzoru hvězd ve tvaru diamantu:

Vzestupná a sestupná pyramida dávají tomuto diamantu:

Výstup z konzole zobrazující diamant hvězd tvořený dvěma pyramidami

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 vysvětlení:

  • v vzor diamantové hvězdy, 'n' je počet řádků uložených n-1 v prostoru_0.
  • Ve vnořeném for představuje vnější 'for' řádky a vnitřní 'for' představuje sloupce.
  • První vnořené „pro“ zobrazuje vzestupnou pyramidu. Vnější smyčky „for“ do n a vnitřní smyčky for do mezery_0 vnitřní smyčka zobrazuje prostor na konzole.
  • Existuje další vnitřní „pro“, které se opakuje, dokud i<= 2 * j – 1 a zobrazuje hvězdičku mimo tento vnitřní tiskový systém „pro“ vytiskne řádek. Tato vnořená smyčka tiskne horní pyramidu.
  • Druhý vnořený „pro“ zobrazuje klesající pyramidu. Vnější 'for' se cyklí až do i<=n-1, první vnitřní 'for' vytiskne mezeru a druhé vnitřní vytiskne hvězdu.
  • Vně vnitřního „pro“ se vytiskne mezera mezi řádky. jak nahoru, tak dolů pyramida tvoří diamantový vzor.

Program prostorového vzoru hvězdy s pravým trojúhelníkem:

Modul j a i vkládá tyto mezery:

Výstup konzole zobrazující pravoúhlý trojúhelník hvězd s roztečí založenou na modulu

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 vysvětlení:

  • v výše uvedený vzor kód, vnější 'for' se stará o počet řádků a vnitřní 'for' udržuje sloupce.
  • Když je vnější „pro“ 1, což znamená první řádek, a když vnitřní „pro“ je 1, znamená to, že jde o první sloupec.
  • Uvnitř vnitřního „for“ deklarujte proměnnou s názvem mid a uložte zbytek j/i. Tím se vydělí hodnoty i a j a získá se modul.
  • Pokud je tedy modul 0, zobrazte hvězdičku a mezeru; jinak zobrazte pouze hvězdičku. Mimo vnitřní „pro“ vytiskněte čáru.

moderní Java poznámky: od Java 11 prostorové smyčky lze nahradit System.out.print(" ".repeat(n))a sestavení každého řádku v StringBuilder před jednou println() Volání běží rychleji. Původní kód je zachován tak, jak byl napsán, protože explicitně zobrazuje aritmetické operace.

výměnaping Hvězdička pro čítač smyček změní každý tvar hvězdy na tvar čísla.

Programy číselných vzorů v Java

Číselné vzory se skládají z čísel; z číselných vzorů můžeme kreslit mnoho různých tvarů.

Opačný program vzoru polovičního trojúhelníku:

Odpočítáváním dolů a poté nahoru získáme tento číselný trojúhelník:

Výstup konzole zobrazující protilehlou polovinu trojúhelníku čísel

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 vysvětlení:

  • K nakreslení tohoto vzoru použijeme dvě vnořené smyčky 'for'. Jeden vytiskne první pyramidu a druhý zobrazí druhou pyramidu.
  • Prohlásit int i, int j a int row_0 a inicializujte řádek podle požadovaného počtu řádků. Zde je hodnota řádku 5.
  • Nastavte vnější smyčku 'for' prvního vnořeného 'for', inicializujte i podle počtu řádků a iterujte, dokud i >= a dekrementujte iterátor. Toto vnější „pro“ se zabývá řádky.
  • Ve vnitřním 'for' nastavte podmínku j=1 a opakujte, dokud j<=i. V těle vnitřní smyčky zobrazte proměnnou j s mezerou.
  • Nyní v druhém vnořeném 'for' změňte vnější podmínku 'for' prvního vnořeného 'for'. Inicializujte jej 2 a opakujte, dokud řádky i<=.
  • A vnitřní smyčka se opakuje, dokud není dosaženo i. Poté zobrazí zprávu na konzole, stejnou jako ve vnitřní smyčce prvního vnořeného „pro“ mimo tělo vnitřního prostoru pro tisk.

Opakované číslo ve sloupci pravoúhlý trojúhelník Program vzoru:

Vynulování počítadla v každém řádku opakuje čísla:

Výstup konzole zobrazující pravoúhlý trojúhelník čísel počínaje jedničkou na každém řádku

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 vysvětlení:

  • V ukázkovém kódu deklarujte int i, int j, int number, a int n.
  • Poté inicializujte n hodnotou požadovaného počtu řádků, zde je to 7.
  • Ve vnějším „for“ začněte smyčku od hodnoty 0 a opakujte, dokud není dosaženo n.
  • Číslo můžete inicializovat uvnitř nebo vně smyčky.
  • Ve vnitřním 'for' iterujte, dokud j nebude menší nebo rovno i dosažené. A zobrazte číslo s mezerou.
  • Vně těla vnitřního „pro“ mezera mezi řádky.
  • Vnitřní „for“ se opakuje, dokud se jeho podmínka nezmění na nepravdivou. Když se tato podmínka změní na nepravdivou, vnější smyčka se znovu zvýší a provede vnitřní 'for', dokud se podmínka nezmění na false.
  • Tento postup se opakuje, dokud se vnější smyčka nezmění.

Stejná kostra vytiskne písmena, jakmile je celočíselné číslo přetypováno na typ char.

Programy pro vzory znaků v Java

Vzory znaků se skládají z anglických abeced. Můžeme vytvářet skvělé a úžasné programy pro vzory znaků v Java několik z nich je popsáno níže.

Program se vzorem půl pyramidy postav:

Přetypování celočíselného typu na char vypíše tato písmena:

Výstup konzole zobrazující poloviční pyramidu s velkými písmeny A až 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 vysvětlení:

  • Deklarujte abecedu a inicializujte ji hodnotou 65.
  • Vnější pro začátek smyčky od 0 a opakuje se, dokud i není 5 nebo méně.
  • Uvnitř for začíná smyčka na 0 a opakuje se, dokud j není menší nebo rovno i.
  • Poté vytiskněte znak a mezeru na výstupní obrazovce.
  • Abychom vytiskli znaky, přetypujeme abecedu z celého čísla na znak.
  • Mimo jeho tělo zvětšete abecedu a vytiskněte řádek na výstupní obrazovku. (znak) převádí hodnotu abecedy na znak.

Pyramidový/trojúhelníkový vzor v Java:

Mezerní smyčka vycentruje písmena do pyramidy:

Výstup konzole zobrazující středovou pyramidu velkých písmen

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 vysvětlení:

  • V tomto příkladu kódu jsme použili tři smyčky „for“, jedna je vnější smyčka a dvě smyčky jsou vnořeny do vnější smyčky „for“.
  • Vnější „for“ začíná od 0 a opakuje se, dokud není hodnota 8 nebo menší.
  • V těle vnějšího „for“ jsme inicializovali proměnnou abecedy typu integer s hodnotou 65 a vnořili do jejího těla další „for“.
  • První vnitřní „pro“ je opakem vnější smyčky „pro“ a v jeho těle je tiskový prostor na konzole. Mimo jeho tělo je další „pro“. Iteruje se jako vnější smyčka.
  • V těle druhé vnitřní smyčky vytiskněte znak přetypováním abecedy +k a vytiskněte jej s mezerou na konzole. Vně těla druhého vnitřního „pro“ vytiskněte čáru.

Nejčastější dotazy

Počítejte zpětně od celkového počtu řádků. Tvar zarovnaný vlevo nepotřebuje žádné řádky, středový jehlanový tvar potřebuje řádky mínus aktuální index řádku a výše uvedený příklad používá 2*(řádek-i).

Asistenti s umělou inteligencí mohou porovnávat očekávaný a skutečný text konzole řádek po řádku a pojmenovat hranici smyčky, která se liší o jednu. Než se opravě budete důvěřovat, spusťte opravený program sami znovu.

Ano. GitHub Copilot vytvoří funkční tvar z jednořádkového popisu. Zkontrolujte smyčku mezer, protože vygenerovaný kód často vycentruje obrázek o jeden sloupec.

Přidejte hraniční test uvnitř nejvnitřnější smyčky. Symbol vytiskněte pouze na prvním řádku, posledním řádku nebo prvním a posledním sloupci; mezery vytiskněte jinam.

Ano. Jedna rekurzivní metoda vypíše řádek a volá sama sebe se zvýšeným počtem, zatímco druhá spravuje sekvenci. Výstup je identický, ale smyčky se vyhýbají nadbytečným rámcům zásobníku.

Tisk trojúhelníku s n řádky provede zhruba n²/2 zápisů znaků, takže náklady jsou O(n²). Samotný výstup roste kvadraticky, takže žádný algoritmus nevytiskne stejný údaj rychleji.

65 je kód velkého A v kódech ASCII a Unicode. Přetypování 65 na char vrátí A a 66 vrátí B, takže inkrementace celého čísla a přetypování prochází abecedu v daném pořadí.

Seznámí se s řízením smyček, indexovou aritmetikou a schopností nacvičovat kód na papíře, bez nutnosti knihovny. Kandidát, který tracPokud jeden řádek správně funguje, obvykle chápe vnořenou iteraci.

Shrňte tento příspěvek takto: