Програми за шаблони в JavaПечат на звезда, пирамида и число

⚡ Умно обобщение

Програми за шаблони в Java отпечатайте звезди, числа или букви във фиксирана форма, като всяка една от тях е изградена от вложени цикли, където външният цикъл брои редове, а вътрешните цикли поставят интервали и символи.

  • 🔘 Определение: Печатът на шаблони подрежда символи, цифри или букви в определена форма на конзолата.
  • ☑️ Категории: Съществуват три групи, а именно звездни модели, числови модели и символни модели.
  • ✅ Структура: Външният цикъл управлява редовете, докато вътрешните цикли обработват водещите интервали и отпечатаните символи.
  • 🧪 Примери: Разглеждат се програми за полутриъгълник, пясъчен часовник, ромб, противоположен триъгълник и буквена пирамида.
  • 🛠️ Техника: Формите на символите хвърлят int seed към char, започвайки от 65 за буквата A.
  • 📊 Възползвайте се: Моделите на писане изострят контрола на циклите, индексната аритметика и уменията за пробно изпълнение на интервюта.

Програми за шаблони в Java за отпечатване на звезди, пирамиди и числа

Програмите за отпечатване на шаблони са дизайни или символи, които включват букви или други знаци в определен формат. Java кодирането на шаблони увеличава изграждането на логика на програмистите, което им помага да станат добри програмисти.

Всеки пример тук се нуждае само от вложени цикли и основни Java синтаксис.

Категории модели

Можем да нарисуваме безброй модели в Java, и всички модели могат да бъдат изпълнени по три различни начина.

Има три основни категории, използвани за идентифициране Java шаблонни програми.

  • Звезден модел: In Java звездни модели програми, звездните модели са серия от звездички (*) използва се за създаване на различни форми, като например пирамидална звезда, стегнат триъгълник, ляв триъгълник, ромбовидна форма, квадрат и много други модели в Java.
  • Цифров модел: За да се упражнят операторите за управление на потока, друг тип шаблон са програмите с числови шаблони в JavaПрограмите за числови модели се състоят от числа/броене. Най-често задаваме стойността на 'i', която е итератор на цикъл за генериране на числа в програмирането на шаблони. Най-малкият брой цикли за числовия модел също е два. Програмата за числови модели в Java работи и върху системата от редове и колони.
  • Модел на знаци: Програмирането на шаблона на знаци се състои от знаци, които са в Английски азбуки. Това е друг начин да подобрите уменията си за кодиране, но тук работим със знаци, а не с числа или звезди. Шаблонът може да има един и същ знак в целия шаблон или може да има различни символи, зависи от логиката, която прилагате.

Таблицата по-долу показва какви са разликите между категориите.

категория Печатна единица Откъде идва отпечатаната стойност Примерен изход
Звезден модел звездичка Фиксиран символ, така че се променят само границите на цикъла * * *
Модел на числото Digit Итераторът на цикъла i или j се отпечатва директно 1 2 3
Модел на символа писмо Интелект семе, преобразувано в char, започвайки от 65 за A ABC

И в трите случая външният цикъл брои редове, един вътрешен цикъл отпечатва подравняващите интервали, а вторият отпечатва видимите символи. Променя се само отпечатаната мерна единица.

Същите умения за работа с цикли задвижват и други класически упражнения, като например сортиране по избор, вмъкване сортиранеи Число на Армстронг програма.

Звездните модели са на първо място, защото символът никога не се променя и само границите на цикъла имат значение.

Програми Star Patterns в Java

Звездообразните шаблони отпечатват звездичка на конзолата, формата на шаблона зависи изцяло от кода, който пишете.

Програма за шарка на половин ляв триъгълник със звезда:

Програмата по-долу отпечатва този полуляв триъгълник:

Изход от конзолата, показващ половин ляв триъгълник от звезди върху шест реда

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 обяснение:

  • декларирам int i, int j. Декларирайте и инициализирайте променливата row като an вътрешен ред.
  • i е итераторът за външния 'for' цикъл и j е итератор за вътрешния 'for' цикъл, 'row' съдържа редица редове, които пирамидата трябва да има.
  • При вложени за, външното „за“ представлява редове, а вътрешното „за“ представлява колони.
  • Във външния 'for' инициализирайте итератора 'i' с 0, задайте условието i< ред и увеличете i.
  • Сега вътрешният цикъл "for" се инициализира с 2*(row-i) и намалява.
  • Вложеното 'за' отпечатва място на екрана на конзолата.
  • Извън тялото на вложеното 'for' е поставен друг цикъл 'for'. това "за" печатна звезда след като вложеното 'for' се изпълни. Зацикля, докато j<=i.

Програма за моделиране на звезди от пясъчни часовници:

Две подредени пирамиди образуват този пясъчен часовник:

Изход от конзолата, показващ форма на пясъчен часовник, построена от две звездни пирамиди

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 обяснение:

  • Code започва с публична статична празнота основната, int редове ще определи броя на редовете, които пясъчното стъкло ще съдържа.
  • Има два вложени „за“, първият ще покаже пирамидата надолу, а вторият ще покаже пирамидата нагоре.
  • При вложени за, външното „за“ представлява редове, а вътрешното „за“ представлява колони.
  • Във външните 'for' цикли, докато i<= ред-1, вътрешните 'for' цикли, докато i. система за печат отпечатва интервала на конзолата.
  • Вторият вътрешен цикъл отпечатва звездичка плюс интервал на конзолата.
  • Когато първият вътрешен цикъл се изпълни напълно при i=0, след този втори вътрешен цикъл се изпълни напълно.
  • След това външният цикъл се увеличи. Този цикъл продължава, докато условието стане невярно.
  • Вторият вложен цикъл показва възходящата пирамида, като просто променя инициализацията и състоянието на външния цикъл на първия вложен цикъл.
  • Той ще покаже пирамидата нагоре. И двете пирамиди надолу и нагоре ще направят шарка звезда пясъчен часовник.

Програма за модел на звезда с диамантена форма:

Възходяща и низходяща пирамида дават този диамант:

Изход от конзолата, показващ диамант от звезди, образуван от две пирамиди

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 обяснение:

  • в диамантена звезда, 'n' е броят редове, съхранени n-1 в space_0.
  • При вложени за, външното „за“ представлява редове, а вътрешното „за“ представлява колони.
  • Първото вложено „за“ показва пирамидата нагоре. Външни 'for' цикли до n и вътрешни for цикли до space_0 вътрешният цикъл показва място на конзолата.
  • Има друг вътрешен 'за', който се зацикля, докато i<= 2 * j – 1 и показва звезда извън тази вътрешна система за печат 'за', която отпечатва ред. Този вложен цикъл отпечатва горната пирамида.
  • Другото вложено „за“ показва низходяща пирамида. Външен цикъл „for“ до i<=n-1, първият вътрешен „for“ отпечатва интервал и вторият вътрешен for отпечатва звезда.
  • Извън вътрешното „за“, отпечатайте интервал между редовете. както нагоре, така и надолу пирамидите правят диамантения модел.

Правоъгълен триъгълен звезден модел Програма за космически шаблони:

Модулът на j и i вмъква тези празнини:

Изход от конзолата, показващ правоъгълен триъгълник от звезди с разстояние, базирано на модула

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 обяснение:

  • в по-горе модел код, външното 'for' се грижи за броя на редовете, а вътрешното 'for' поддържа колоните.
  • Когато външното 'за' е 1, което означава първия ред, и когато вътрешното 'за' е 1, това означава, че това е първата колона.
  • Вътре във вътрешното 'for' декларирайте променлива с име mid и запазете остатъка от j/i. Това разделя стойностите на i и j, за да получим модула.
  • Така че, ако модулът е 0, тогава покажете звездичка и интервал; в противен случай покажете само звездичка. Извън вътрешното „за“ отпечатайте ред.

Модерен дизайн Java бележки: от Java 11 пространствените цикли могат да бъдат заменени с System.out.print(" ".repeat(n))и изграждане на всеки ред в StringBuilder преди един println() Извикването се изпълнява по-бързо. Оригиналният код се запазва такъв, какъвто е написан, защото показва аритметиката изрично.

размянаping Звездичката за брояча на цикли превръща всяка звезда във форма на число.

Програми за цифрови модели в Java

Цифровите модели се състоят от числа; можем да нарисуваме много различни форми от цифрови модели.

Програма за модел на противоположния половин триъгълник:

Броенето надолу, а след това нагоре, дава този числов триъгълник:

Изход от конзолата, показващ срещуположната половина на триъгълника от числа

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 обяснение:

  • За да начертаем този шаблон, ще използваме два вложени цикъла „for“. Единият ще отпечата първата пирамида, а другият ще покаже втората пирамида.
  • декларирам int i, int j и int row_0 и инициализирайте реда с броя редове, които искате. Тук стойността на реда е 5.
  • Задайте външния цикъл „for“ на първия вложен „for“, инициализирайте i с броя на редовете и повторете, докато i >= и намалете итератора. Това външно „за“ се занимава с редове.
  • Във вътрешното 'за' задайте условието j=1 и повторете, докато j<=i. В тялото на вътрешния цикъл покажете променливата j с интервала.
  • Сега във второто вложено „за“, променете външното условие „за“ на първото вложено „за“. Инициализирайте го с 2 и циклете, докато i<= редовете.
  • И вътрешният цикъл се повтаря, докато се достигне i. След това показва съобщението на конзолата, същото като във вътрешния цикъл на първото вложено 'for' извън тялото на вътрешното пространство за отпечатъци.

Повтарящо се число в колона десен триъгълник Програма за модел:

Нулирането на брояча на всеки ред повтаря числата:

Изход от конзолата, показващ правоъгълен триъгълник от числа, започващи от едно на всеки ред

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 обяснение:

  • В примерния код декларирайте int i, int j, int number и int n.
  • След това инициализирайте n със стойността на броя редове, които искате, тук е 7.
  • Във външния 'for' стартирайте цикъла от стойност 0 и повторете, докато се достигне n.
  • Можете да инициализирате номера вътре или извън цикъла.
  • Във вътрешното „за“ итерирайте, докато j е по-малко или равно на достигнато i. И покажете числото с интервала.
  • Извън тялото на вътрешното „за“, отпечатайте интервал между редовете.
  • Вътрешното „за“ се повтаря, докато условието му стане невярно. Когато това условие стане невярно, външният цикъл се увеличава отново и изпълнява вътрешния 'for', докато условието стане невярно.
  • Тази процедура се повтаря, докато външният цикъл стане false.

Същият скелет отпечатва букви, след като int seed бъде преобразуван в char.

Програми за модели на символи в Java

Моделите на символи се състоят от английски азбуки. Можем да създаваме готини и страхотни програми за модели на символи в Java няколко са обсъдени по-долу.

Програма за модел на половин пирамида на персонажа:

Преобразуването на int seed в char отпечатва тези букви:

Конзолен изход, показващ полупирамида от главни букви от 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 обяснение:

  • Декларирайте азбуката и я инициализирайте със стойност 65.
  • Външният for започва цикъла от 0 и се повтаря, докато i стане 5 или по-малко.
  • Вътре във for, цикълът започва от 0 и се повтаря, докато j стане по-малко или равно на i.
  • След това отпечатайте знака и интервала на изходния екран.
  • За да отпечатаме знаци, ние преобразуваме азбуката от цяло число към знак.
  • Извън тялото му, увеличете азбуката и отпечатайте реда на изходния екран. (char) преобразува стойността на азбуката в знак.

Пирамидален/триъгълен модел в Java:

Пространствен цикъл центрира буквите в пирамида:

Конзолен изход, показващ центрирана пирамида от главни букви

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 обяснение:

  • В този примерен код използвахме три цикъла „for“, единият е външен цикъл, а два цикъла са вложени във външния „for“.
  • Външният 'for' започва от 0 и се повтаря, докато стойността стане 8 или по-малко.
  • В тялото на външния 'for' инициализирахме азбучната променлива от целочислен тип със стойност 65 и вложихме другия 'for' в тялото му.
  • Първият вътрешен 'for' е обратната страна на външния цикъл 'for' и в тялото му е място за печат на конзолата. Извън тялото му има друго „за“. Той се повтаря като външния цикъл.
  • В тялото на втория вътрешен цикъл отпечатайте знака чрез преобразуване на буквата +k и го отпечатайте с интервал на конзолата. Извън тялото на второто вътрешно „за“ отпечатайте ред.

Въпроси и Отговори

Бройте обратно от общия брой редове. Форма, подравнена вляво, не се нуждае от никакви редове, центрирана пирамида се нуждае от редове минус текущия индекс на ред, а примерът по-горе използва 2*(ред-i).

Асистентите с изкуствен интелект могат да сравняват очаквания и действителния текст на конзолата ред по ред и да посочат границата на цикъла, която е отклонена с едно. Стартирайте сами коригираната програма, преди да се доверите на поправката.

Да. Копилот на GitHub генерира работеща форма от едноредово описание. Проверете цикъла за интервали, тъй като генерираният код често центрира фигурата с една колона.

Добавете граничен тест вътре в най-вътрешния цикъл. Отпечатайте символа само на първия ред, последния ред или първата и последната колона; отпечатайте интервалите другаде.

Да. Един рекурсивен метод отпечатва ред и се извиква с увеличен брой, докато втори управлява последователността. Изходът е идентичен, но циклите избягват допълнителните стекови рамки.

Отпечатването на n-редов триъгълник извършва приблизително n²/2 записа на символа, така че цената е O(n²). Самият изход нараства квадратично, така че никой алгоритъм не отпечатва същата цифра по-бързо.

65 е ASCII и Unicode кодовата точка на главната буква A. Преобразуването на 65 към char дава A, а 66 дава B, така че увеличаването на цялото число и преобразуването обхожда азбуката по ред.

Те разкриват контрол на цикли, индексна аритметика и възможността за пробно изпълнение на код на хартия, без да е необходима библиотека. Кандидат, който tracАко един ред е правилно, обикновено разбира вложената итерация.

Обобщете тази публикация с: