패턴 프로그램 Java별, 피라미드, 숫자를 인쇄하세요

⚡ 스마트 요약

패턴 프로그램 Java 별, 숫자 또는 문자를 정해진 모양으로 출력하는데, 각각의 모양은 중첩된 루프로 구성됩니다. 바깥쪽 루프는 행 수를 세고, 안쪽 루프는 공백과 문자를 배치합니다.

  • 🔘 정의: 패턴 인쇄는 콘솔 상에서 기호, 숫자 또는 문자를 정해진 모양으로 배열하는 것입니다.
  • ☑️ 카테고리 : 별 모양 패턴, 숫자 패턴, 문자 패턴의 세 가지 그룹으로 나뉩니다.
  • 논리적 구조: 외부 루프는 행을 구동하고 내부 루프는 선행 공백과 인쇄 문자를 처리합니다.
  • 🧪 예 : 반삼각형, 모래시계형, 마름모형, 마주보는 삼각형, 그리고 문자 피라미드 형태의 프로그램이 다뤄집니다.
  • 🛠️ 기술 : 문자 모양은 정수 시드를 문자로 변환하며, 문자 A의 경우 65부터 시작합니다.
  • 📊 이점 : 패턴 작성은 루프 제어, 인덱스 연산, 면접 대비 모의 실행 능력을 향상시키는 데 도움이 됩니다.

패턴 프로그램 Java 별, 피라미드, 숫자 모양을 인쇄하려면

패턴 인쇄 프로그램은 특정 형식의 글자나 기타 문자를 포함하는 디자인이나 기호입니다. Java 패턴 코딩은 프로그래머의 논리 구축을 증가시켜 그들이 좋은 프로그래머가 되도록 돕습니다.

여기 있는 모든 예제는 중첩 루프와 기본적인 코드만 필요로 합니다. Java 통사론.

패턴 카테고리

우리는 무수히 많은 패턴을 그려낼 수 있습니다. Java그리고 모든 패턴은 세 가지 다른 방식으로 실행될 수 있습니다.

식별하는 데 사용되는 세 가지 주요 범주가 있습니다. Java 패턴 프로그램.

  • 별 패턴: In Java 스타 패턴 프로그램, 스타 패턴은 일련의 별표(*) 피라미드, 별 모양, 삼각형, 왼쪽 삼각형, 마름모꼴, 정사각형 등 다양한 모양을 만드는 데 사용됩니다. Java.
  • 숫자 패턴: 흐름 제어문을 연습하기 위한 또 다른 패턴 유형으로는 숫자 패턴 프로그램이 있습니다. Java숫자 패턴 프로그램은 숫자/카운팅으로 구성됩니다. 일반적으로 패턴 프로그래밍에서 숫자를 생성하기 위해 루프 반복자 'i'의 값을 설정합니다. 숫자 패턴에 필요한 최소 루프 횟수는 두 번입니다. 숫자 패턴 프로그램은 다음과 같습니다. Java 행과 열 시스템에서도 작동합니다.
  • 문자 패턴: 문자 패턴 프로그래밍은 다음 문자로 구성됩니다. 영어 알파벳. 이것은 코딩 기술을 향상시키는 또 다른 방법이지만, 여기서는 숫자나 별이 아닌 문자를 다룹니다. 패턴은 전체 패턴에서 동일한 문자를 가질 수도 있고, 적용하는 논리에 따라 다른 문자를 가질 수도 있습니다.

아래 표는 각 범주 간의 차이점을 보여줍니다.

카테고리 인쇄 단위 인쇄된 금액은 어디에서 오는가? 샘플 출력
별무늬 별표 고정된 기호이므로 루프 범위만 변경됩니다. * * *
숫자 패턴 Digit 루프 반복자 i 또는 j가 직접 출력됩니다. + 1 2 3
문자 패턴 편지 정수형 시드 값을 char로 변환합니다. A의 경우 시작 값은 65입니다. 알파벳

세 가지 경우 모두에서 바깥쪽 루프는 행 수를 세고, 안쪽 루프 중 하나는 정렬 공백을 출력하며, 두 번째 루프는 보이는 문자를 출력합니다. 출력되는 단위만 변경됩니다.

루프 기술은 다음과 같은 다른 고전적인 운동에도 적용됩니다. 선택 정렬, 삽입 정렬암스트롱 번호 프로그램)

별 모양 패턴이 먼저 나오는데, 그 이유는 기호 자체가 변하지 않고 고리의 경계만 중요하기 때문입니다.

스타 패턴 프로그램 Java

별 패턴은 콘솔에 별표를 인쇄하며 패턴 모양은 전적으로 사용자가 작성하는 코드에 따라 다릅니다.

절반 왼쪽 삼각형 별 패턴 프로그램:

아래 프로그램은 왼쪽 반쪽 삼각형을 출력합니다.

콘솔 출력에는 6줄에 걸쳐 왼쪽 반쪽 삼각형 모양의 별들이 표시됩니다.

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 설명:

  • 선언 나는, 정수 j. 행 변수를 다음과 같이 선언하고 초기화합니다. 정수 행.
  • i는 외부 'for' 루프의 반복자이고, j는 내부 'for' 루프의 반복자입니다. 'row'에는 피라미드가 가져야 하는 여러 행이 포함됩니다.
  • 중첩 for에서 외부 'for'는 행을 나타내고 내부 'for'는 열을 나타냅니다.
  • 외부 'for'에서 반복자 'i'를 0으로 초기화하고 조건 i< 행을 설정하고 i를 증가시킵니다.
  • 이제 내부 'for' 루프는 2*(row-i) 및 감소로 초기화됩니다.
  • 중첩된 'for'는 콘솔 화면에 공간을 인쇄합니다.
  • 중첩된 '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 로 시작 공공 정적 무효 본관, 정수 행 모래유리에 포함될 행 수를 정의합니다.
  • 두 개의 중첩된 'for'가 있는데, 첫 번째는 하향 피라미드를 표시하고 두 번째는 상향 피라미드를 표시합니다.
  • 중첩 for에서 외부 'for'는 행을 나타내고 내부 'for'는 열을 나타냅니다.
  • 외부 'for'는 i<= row-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'은 space_1에 n-0로 저장된 행 수입니다.
  • 중첩 for에서 외부 'for'는 행을 나타내고 내부 'for'는 열을 나타냅니다.
  • 첫 번째 중첩된 'for'는 위쪽 피라미드를 표시합니다. n까지의 외부 'for' 루프와 space_0까지의 내부 for 루프 내부 루프는 콘솔에 공간을 표시합니다.
  • i<= 2 * j – 1이 될 때까지 반복하고 이 내부 'for' 인쇄 시스템 외부에 별표를 표시하는 또 다른 내부 'for'가 있습니다. 이 중첩 루프는 위쪽 피라미드를 인쇄합니다.
  • 다른 중첩된 'for'는 하향 피라미드를 표시합니다. 외부 'for'는 i<=n-1이 될 때까지 반복합니다. 첫 번째 내부 'for'는 공백을 인쇄하고 두 번째 내부 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'는 열을 유지 관리합니다.
  • 외부 'for'가 1이면 첫 번째 행을 의미하고, 내부 'for'가 1이면 첫 번째 열을 의미합니다.
  • 내부 'for' 안에 mid라는 변수를 선언하고 j/i의 나머지 부분을 저장합니다. 이것은 i 값과 j 값을 나누어 모듈러스를 얻습니다.
  • 따라서 모듈러스가 0이면 별표와 공백을 표시하고, 그렇지 않으면 별표만 표시합니다. 내부 'for' 외부에서 줄을 인쇄합니다.

현대 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 j 및 int row_0을 입력하고 원하는 행 수만큼 행을 초기화합니다. 여기서 행 값은 5입니다.
  • 첫 번째 중첩된 'for'의 외부 'for' 루프를 설정하고, 행 수만큼 i를 초기화하고, i >=가 될 때까지 반복하고 반복자를 감소시킵니다. 이 외부 'for'는 행을 다룹니다.
  • 내부 'for'에서 조건 j=1을 설정하고 j<=i가 될 때까지 반복합니다. 내부 루프의 본문에서 j 변수를 공백과 함께 표시합니다.
  • 이제 두 번째 중첩된 'for'에서 첫 번째 중첩된 'for'의 외부 'for' 조건을 변경합니다. 2로 초기화하고 i<= 행까지 반복합니다.
  • 그리고 내부 루프는 i에 도달할 때까지 반복됩니다. 그런 다음 내부 for 인쇄 줄 공간의 본문 외부에 첫 번째 중첩된 'for'의 내부 루프와 동일한 메시지를 콘솔에 표시합니다.

열 직각 삼각형 패턴 프로그램의 반복되는 숫자:

각 행의 카운터를 재설정하면 숫자가 반복됩니다.

콘솔 출력에는 각 행이 1부터 다시 시작하는 숫자로 이루어진 직각삼각형이 표시됩니다.

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 설명:

  • 예제 코드에서 다음을 선언합니다. 나는, 정수 j, 정수 번호ber 및 int n.
  • 그런 다음 원하는 행 수의 값으로 n을 초기화합니다. 여기서는 7입니다.
  • 외부 'for'에서는 값 0부터 루프를 시작하고 n에 도달할 때까지 반복합니다.
  • 루프 내부 또는 외부에서 숫자를 초기화할 수 있습니다.
  • 내부 'for'에서는 j가 i보다 작거나 같을 때까지 반복합니다. 그리고 공백과 함께 숫자를 표시합니다.
  • 내부 'for'의 본문 외부에는 줄 공간이 인쇄됩니다.
  • 내부 'for'는 조건이 false가 될 때까지 반복됩니다. 이 조건이 false로 바뀌면 외부 루프는 다시 증가하고 조건이 false로 바뀔 때까지 내부 'for'를 실행합니다.
  • 이 절차는 외부 루프가 거짓이 될 때까지 반복됩니다.

동일한 골격 구조가 정수형 시드를 문자형으로 변환하면 글자를 출력합니다.

문자 패턴 프로그램 Java

문자 패턴은 영어 알파벳으로 구성됩니다. 이를 활용하여 멋지고 훌륭한 문자 패턴 프로그램을 만들 수 있습니다. Java 몇 가지 사례는 아래에서 설명합니다.

캐릭터 하프 피라미드 패턴 프로그램:

정수형 시드를 문자형으로 형변환하면 다음과 같은 문자가 출력됩니다.

콘솔 출력 화면에는 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' 루프의 반대이며 본문에는 콘솔의 인쇄 공간이 있습니다. 몸 밖에는 또 다른 'for'가 있습니다. 외부 루프처럼 반복됩니다.
  • 두 번째 내부 루프의 본문에서는 알파벳 +k를 타입 캐스팅하여 문자를 인쇄하고 콘솔에 공백과 함께 인쇄합니다. 두 번째 내부의 몸체 바깥쪽에는 'for'라는 줄이 인쇄됩니다.

자주 묻는 질문

전체 행 수에서 역순으로 세어 나갑니다. 왼쪽 정렬 도형은 역순 세는 것이 필요 없고, 가운데 정렬 피라미드는 현재 행 인덱스를 뺀 행 수만큼 세면 되며, 위 예시에서는 2*(행-i)를 사용했습니다.

AI 비서는 예상 콘솔 텍스트와 실제 콘솔 텍스트를 행별로 비교하여 1만큼 차이가 나는 루프 경계값을 찾아낼 수 있습니다. 수정된 프로그램을 직접 다시 실행해 보고 나서야 수정 사항을 신뢰하십시오.

예. GitHub 부조종사 한 줄 설명만으로 작동하는 도형을 생성합니다. 생성된 코드가 종종 도형을 한 열만큼 어긋나게 중앙에 배치하므로, 공백 루프를 확인하십시오.

가장 안쪽 루프 안에 경계 조건 검사를 추가하세요. 기호는 첫 번째 행, 마지막 행 또는 첫 번째와 마지막 열에만 출력하고, 그 외의 경우에는 공백을 출력하세요.

네. 첫 번째 재귀 메서드는 한 행을 출력하고 카운트를 증가시켜 자기 자신을 호출하는 반면, 두 번째 메서드는 순서를 관리합니다. 출력 결과는 동일하지만, 루프를 사용하면 추가 스택 프레임을 사용하지 않아도 됩니다.

n행 삼각형을 출력하는 데는 대략 n²/2번의 문자 쓰기가 필요하므로 비용은 O(n²)입니다. 출력 자체는 제곱에 비례하여 증가하므로 동일한 도형을 더 빠르게 출력하는 알고리즘은 없습니다.

65는 ASCII 및 유니코드에서 대문자 A의 코드 포인트입니다. 65를 char로 형변환하면 A가 되고, 66을 형변환하면 B가 되므로, 정수 값을 증가시키고 형변환하면 알파벳 순서대로 처리됩니다.

이 프로그램은 루프 제어, 인덱스 연산, 그리고 라이브러리 없이도 종이 위에서 코드를 시뮬레이션 실행해 볼 수 있는 기능을 제공합니다. 이러한 기능을 갖춘 지원자는... trac한 줄을 정확하게 작성하면 일반적으로 중첩 반복을 이해합니다.

이 게시물을 요약하면 다음과 같습니다.