Programmes de modèles dans Java: Imprimer étoile, pyramide et chiffres

⚡ Résumé intelligent

Programmes de modèles dans Java Imprimez des étoiles, des chiffres ou des lettres dans une forme fixe, chacun d'eux étant construit à partir de boucles imbriquées où la boucle extérieure compte les lignes et les boucles intérieures placent les espaces et les caractères.

  • (I.e. Définition: L'impression de motifs dispose des symboles, des chiffres ou des lettres selon une forme définie sur la console.
  • ☑️ Catégories: Il existe trois groupes : les motifs en étoile, les motifs numériques et les motifs de caractères.
  • Structure: La boucle externe gère les lignes tandis que les boucles internes gèrent les espaces de début et les caractères imprimés.
  • 🧪 Exemples : Les programmes en demi-triangle, sablier, losange, triangle opposé et pyramide de lettres sont abordés.
  • Technique: Les formes de caractères lancent une graine int à char, en commençant à 65 pour la lettre A.
  • (I.e. Avantage: La rédaction de modèles permet d'affiner le contrôle des boucles, le calcul des indices et les compétences de simulation pour les entretiens.

Programmes de modèles dans Java Imprimer des formes d'étoiles, de pyramides et de chiffres

Les programmes d'impression de motifs sont des dessins ou des symboles qui incluent des lettres ou d'autres caractères dans un format spécifique. Java le codage de modèles augmente la construction logique des programmeurs, ce qui les aide à devenir de bons programmeurs.

Chaque exemple présenté ici ne nécessite que des boucles imbriquées et des fonctions de base. Java syntaxe.

Catégories de modèles

Nous pouvons dessiner des motifs innombrables dans Javaet tous les modèles peuvent être exécutés de trois manières différentes.

Il existe trois catégories principales utilisées pour identifier Java programmes de modèles.

  • Motif étoile : In Java programmes de motifs en étoiles, les motifs en étoiles sont une série de astérisques (*) utilisé pour créer différentes formes comme un motif pyramidal, une étoile, un triangle rectangle, un losange, un carré et bien d'autres motifs. Java.
  • Modèle de numéro : Pour s'exercer aux instructions de contrôle de flux, un autre type de modèle est celui des programmes de nombres. JavaLes programmes de suites numériques consistent à générer des nombres et à compter. On initialise généralement la variable « i », qui est un itérateur de boucle, pour générer les nombres selon la suite. Le nombre minimal de boucles pour une suite numérique est de deux. Le programme de suites numériques… Java Fonctionne également avec les systèmes de lignes et de colonnes.
  • Modèle de personnage : La programmation du modèle de caractères se compose de caractères qui se trouvent dans le alphabets anglais. C'est une autre façon d'améliorer vos compétences en codage, mais ici nous traitons de caractères, pas de chiffres ou d'étoiles. Le motif peut avoir le même caractère dans l'ensemble du motif ou peut avoir des caractères différents, cela dépend de la logique que vous appliquez.

Le tableau ci-dessous indique les différences entre les catégories.

Catégories Unité imprimée D'où provient la valeur imprimée ? Exemple de sortie
Motif étoile astérisque Un symbole fixe, donc seules les limites de la boucle changent. * * *
Modèle numérique Digit L'itérateur de boucle i ou j imprimé directement 1 2 3
Modèle de caractère Lettre Une graine entière transformée en char, commençant à 65 pour A abc

Dans les trois cas, la boucle externe compte les lignes, une boucle interne affiche les espaces d'alignement et une seconde affiche les caractères visibles. Seule l'unité d'impression change.

Les mêmes compétences en matière de boucles sont à la base d'autres exercices classiques tels que : tri par sélection, tri par insertionainsi que, Numéro Armstrong .

Les motifs en étoile sont prioritaires, car le symbole ne change jamais et seules les limites de la boucle importent.

Programmes de motifs d'étoiles dans Java

Les motifs en étoile impriment un astérisque sur la console, la forme du motif dépend entièrement du code que vous écrivez.

Programme de motif étoile demi-triangle gauche :

Le programme ci-dessous imprime ce demi-triangle gauche :

Sortie de la console affichant un demi-triangle gauche d'étoiles sur six lignes

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 explication:

  • Déclarer int je, int j. Déclarez et initialisez la variable de ligne en tant que ligne entière.
  • i est l'itérateur de la boucle "for" externe et, j est un itérateur de la boucle "for" interne, "row" contient un certain nombre de lignes que la pyramide devrait avoir.
  • Dans un for imbriqué, le « for » externe représente les lignes et le « for » interne représente les colonnes.
  • Dans le « pour » externe, initialisez l'itérateur « i » avec 0, définissez la condition i<ligne et incrémentez i.
  • Maintenant, la boucle interne 'for' est initialisée avec 2*(row-i) et décrémente.
  • Le « pour » imbriqué imprime l'espace sur l'écran de la console.
  • En dehors du corps du « for » imbriqué, une autre boucle « for » est placée. Ceci pour' imprimer une étoile après l'exécution du « for » imbriqué. Il boucle jusqu'à j<=i.

Programme de motifs d'étoiles en sablier :

Deux pyramides empilées produisent ce sablier :

Affichage de la console montrant une forme de sablier composée de deux pyramides en étoile

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 explication:

  • Code commence par le Vide public statique principale, lignes entières définira le nombre de lignes que le sablier contiendra.
  • Il y a deux « pour » imbriqués, le premier affichera la pyramide descendante et le second affichera la pyramide ascendante.
  • Dans un for imbriqué, le « for » externe représente les lignes et le « for » interne représente les colonnes.
  • Dans les boucles 'for' externes jusqu'à i<= row-1, les boucles 'for' internes jusqu'à i. système d'impression imprime l'espace sur la console.
  • La deuxième boucle interne imprime un astérisque plus un espace sur la console.
  • Lorsque la première boucle interne est exécutée entièrement à i = 0, après que la deuxième boucle interne soit entièrement exécutée.
  • Ensuite, la boucle externe a été incrémentée. Ce cycle se poursuit jusqu'à ce que la condition devienne fausse.
  • La deuxième boucle imbriquée affiche la pyramide ascendante, modifiant simplement l'initialisation et l'état de la boucle externe de la première boucle imbriquée.
  • Il affichera la pyramide ascendante. Les pyramides descendantes et ascendantes rendront le motif étoile en sablier.

Programme de motifs d'étoiles en forme de diamant :

Une pyramide vers le haut et une pyramide vers le bas donnent à ce diamant :

Affichage de la console montrant un diamant d'étoiles formé par deux pyramides

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 explication:

  • Dans l' motif étoile de diamant, 'n' est le nombre de lignes, stockées n-1 dans space_0.
  • Dans un for imbriqué, le « for » externe représente les lignes et le « for » interne représente les colonnes.
  • Le premier « pour » imbriqué affiche la pyramide ascendante. Boucles 'for' externes jusqu'à n et boucles for internes jusqu'à ce que la boucle interne space_0 affiche l'espace sur la console.
  • Il existe un autre « for » interne qui boucle jusqu'à ce que i<= 2 * j – 1 et affiche une étoile à l'extérieur de ce système d'impression « for » interne qui imprime une ligne. Cette boucle imbriquée imprime la pyramide supérieure.
  • L'autre « pour » imbriqué affiche une pyramide descendante. Boucles 'for' externes jusqu'à ce que i<=n-1, le premier 'for' interne imprime l'espace et le deuxième interne for imprime l'étoile.
  • En dehors du « pour » intérieur, imprimez l’espace de ligne. la pyramide ascendante et descendante forme le motif en diamant.

Programme de modèle d'espace de motif d'étoile de triangle rectangle :

Le module de j et i insère ces intervalles :

Sortie de la console affichant un triangle rectangle d'étoiles avec un espacement basé sur le module.

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 explication:

  • Dans l' motif ci-dessus code, le « for » externe prend en charge le nombre de lignes et le « for » interne gère les colonnes.
  • Lorsque le « for » externe est 1, ce qui signifie la première ligne, et lorsque « for » interne est 1, cela signifie qu'il s'agit de la première colonne.
  • À l’intérieur du « for » interne, déclarez une variable nommée mid et stockez le reste de j/i. Cela divise les valeurs i et j pour obtenir le module.
  • Donc, si le module est 0, affichez un astérisque et un espace ; sinon, affichez uniquement un astérisque. En dehors du « pour » intérieur, imprimez une ligne.

Moderne Java Notes: à partir de Java 11 les boucles spatiales peuvent être remplacées par System.out.print(" ".repeat(n))et en construisant chaque rangée dans un StringBuilder avant un println() L'appel s'exécute plus rapidement. Le code original est conservé tel quel, car il présente explicitement les calculs.

Échangerping L'astérisque du compteur de boucles transforme chaque forme d'étoile en une forme numérique.

Programmes de modèles numériques dans Java

Les modèles numériques sont constitués de nombres ; nous pouvons dessiner de nombreuses formes différentes à partir de modèles numériques.

Programme de motif demi-triangle ci-contre :

En comptant à rebours puis en comptant à rebours, on obtient ce triangle numérique :

Sortie de la console affichant un demi-triangle de nombres opposés

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 explication:

  • Pour dessiner ce motif, nous utiliserons deux boucles 'for' imbriquées. L’un imprimera la première pyramide et l’autre affichera la deuxième pyramide.
  • Déclarer int je, int j et int row_0, et initialisez la ligne par le nombre de lignes souhaitées. Ici, la valeur de la ligne est 5.
  • Définissez la boucle 'for' externe du premier 'for' imbriqué, initialisez i par le nombre de lignes, et itérez jusqu'à ce que i >= et décrémentez l'itérateur. Ce « pour » externe concerne les lignes.
  • Dans le « for » interne, définissez la condition j=1 et répétez jusqu'à ce que j<=i. Dans le corps de la boucle interne, affichez la variable j avec l'espace.
  • Maintenant, dans le deuxième « pour » imbriqué, modifiez la condition « pour » externe du premier « pour » imbriqué. Initialisez-le par 2 et bouclez jusqu'aux lignes i<=.
  • Et la boucle interne itère jusqu'à ce que i soit atteint. Affiche ensuite le message sur la console, le même que dans la boucle interne du premier « for » imbriqué à l'extérieur du corps de l'espace de ligne interne pour les impressions.

Numéro répété dans la colonne Triangle rectangle Programme de motifs :

La réinitialisation du compteur sur chaque ligne répète les nombres :

Sortie de la console affichant un triangle rectangle de nombres, chaque ligne recommençant à un.

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 explication:

  • Dans l'exemple de code, déclarez int je, int j, numéro entierber, et int n.
  • Initialisez ensuite le n avec la valeur du nombre de lignes souhaité, ici c'est 7.
  • Dans le « for » externe, démarrez la boucle à partir de la valeur 0 et répétez jusqu'à ce que n soit atteint.
  • Vous pouvez initialiser le numéro à l'intérieur ou à l'extérieur de la boucle.
  • Dans le « pour » interne, répétez jusqu'à ce que j soit inférieur ou égal à i atteint. Et affichez le numéro avec l'espace.
  • En dehors du corps du « pour » intérieur, imprimez l’espace de ligne.
  • Le « pour » interne itère jusqu'à ce que sa condition devienne fausse. Lorsque cette condition devient fausse, la boucle externe incrémente à nouveau et exécute le « for » interne jusqu'à ce que la condition devienne fausse.
  • Cette procédure se répète jusqu'à ce que la boucle externe devienne fausse.

Le même squelette imprime les lettres une fois qu'une graine int est convertie en char.

Programmes de modèles de caractères dans Java

Les modèles de caractères sont composés de lettres de l'alphabet anglais. Nous pouvons créer des programmes de modèles de caractères sympas et impressionnants. Java Quelques exemples sont présentés ci-dessous.

Programme de motif de demi-pyramide de caractère :

La conversion d'une graine int en char affiche les lettres suivantes :

Sortie de la console affichant une demi-pyramide de lettres majuscules 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 explication:

  • Déclarez l'alphabet et initialisez-le avec la valeur 65.
  • L'extérieur pour démarre la boucle à partir de 0 et se répète jusqu'à ce que i soit égal à 5 ​​ou moins.
  • À l’intérieur du for, la boucle commence à 0 et se répète jusqu’à ce que j soit inférieur ou égal à i.
  • Imprimez ensuite le caractère et l'espace sur l'écran de sortie.
  • Pour imprimer des caractères, nous transposons l’alphabet d’entier en caractère.
  • En dehors de son corps, incrémentez l’alphabet et imprimez la ligne sur l’écran de sortie. Le (char) convertit la valeur alphabétique en caractère.

Motif pyramidal/triangulaire dans Java:

Une boucle spatiale centre les lettres en une pyramide :

Sortie de la console affichant une pyramide centrée de lettres majuscules

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 explication:

  • Dans cet exemple de code, nous avons utilisé trois boucles « for », une est une boucle externe et deux boucles sont imbriquées à l'intérieur du « for » externe.
  • Le « pour » externe commence à partir de 0 et boucle jusqu'à ce que la valeur soit égale ou inférieure à 8.
  • Dans le corps du « pour » externe, nous avons initialisé la variable alphabétique de type entier avec une valeur de 65 et avons imbriqué l'autre « pour » dans son corps.
  • Le premier « pour » intérieur est l’inverse de la boucle « for » extérieure et, dans son corps, imprime l’espace sur la console. En dehors de son corps, il y a un autre « pour ». Il itère comme la boucle externe.
  • Dans le corps de la deuxième boucle interne, imprimez le caractère en tapant l'alphabet +k et imprimez-le avec un espace sur la console. À l'extérieur du corps du deuxième « pour » intérieur, imprimez une ligne.

FAQ

Comptez à rebours à partir du nombre total de lignes. Une forme alignée à gauche n'en nécessite aucune, une pyramide centrée en nécessite autant de lignes que l'indice de la ligne actuelle, et l'exemple ci-dessus utilise 2*(ligne-i).

Les assistants IA peuvent comparer le texte attendu et le texte réel de la console ligne par ligne et identifier la limite de boucle décalée d'une unité. Relancez vous-même le programme corrigé avant de valider la correction.

Oui. Copilote GitHub Génère une forme fonctionnelle à partir d'une description d'une seule ligne. Vérifiez la boucle d'espacement, car le code généré centre souvent la figure d'une colonne.

Ajoutez un test de limite à l'intérieur de la boucle la plus interne. Affichez le symbole uniquement sur la première ligne, la dernière ligne ou la première et la dernière colonne ; affichez des espaces ailleurs.

Oui. Une méthode récursive affiche une ligne et s'appelle elle-même en incrémentant le compteur, tandis qu'une seconde gère la séquence. Le résultat est identique, mais les boucles évitent les cadres de pile supplémentaires.

L'impression d'un triangle à n lignes nécessite environ n²/2 écritures de caractères, soit un coût O(n²). La taille de la sortie croît quadratiquement ; aucun algorithme ne permet donc d'imprimer la même figure plus rapidement.

65 est le point de code ASCII et Unicode de la lettre A majuscule. La conversion de 65 en char donne A et 66 donne B, donc l'incrémentation de l'int et la conversion parcourent l'alphabet dans l'ordre.

Ils exposent le contrôle des boucles, l'arithmétique des indices et la possibilité de tester du code sur papier, sans avoir besoin de bibliothèque. Un candidat qui traces one row gère correctement les itérations imbriquées.

Résumez cet article avec :