>  기사  >  Java  >  자바의 패턴

자바의 패턴

PHPz
PHPz원래의
2024-08-30 16:24:151107검색

Java의 패턴 기사에서는 Java 프로그래밍 언어를 배우고 고급 개념을 자세히 알아보기 전에 루프 작동을 이해하는 것이 중요합니다. 루프에는 for, while, do-while 루프의 3가지 유형이 있습니다. 각 루프는 서로 조금씩 다르기 때문에 프로그램의 특정 상황에 따라 사용됩니다. 다양한 루프를 사용하려면 프로그래밍 논리가 필요하며, 이를 위해 논리력과 추론력을 사용하는 패턴 연습이 프로그래머에게 제공됩니다. 예를 들어 기하학적 도형(예: 삼각형, 사각형 등), 피라미드, 다양한 별 패턴의 상자, 숫자 및 문자 스타일을 콘솔 화면에 인쇄할 수 있습니다. 루프의 형식이나 기본 구문은 프로그래밍 언어마다 다를 수 있지만 이러한 패턴을 인쇄하는 일반적인 논리는 동일하게 유지됩니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

Java 패턴의 예

예제를 통해 Java에서 패턴을 그리는 방법을 이해해 봅시다

예1: 숫자를 사용하여 피라미드의 절반을 인쇄합니다.

코드:

public class Pyramid
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
​//innermost loop is to print the numbers in the specific rows for (j=1; j<=i; j++)
{
System.out.print(j +" " );
}
System.out.println();
}
}
}

출력:

자바의 패턴

위의 예에서는 패턴을 인쇄하는 데 기본 루프 2개만 필요합니다. 첫 번째 for 루프는 행 수에 대한 것입니다. 우리의 경우 행, 즉 5를 정의했습니다. 그렇지 않으면 사용자로부터 입력을 받아 변수에 저장할 수도 있습니다. 내부 루프는 특정 행의 숫자를 인쇄하는 것입니다. 한 행이 완료되거나 'j' 루프가 끝나면 println()을 사용하여 줄이 변경됩니다.

예2: 숫자 화살표 인쇄

코드:

public class NumberTriangle
{
public static void main(String[] args)
{
int i, j;
int rows =7;
​//outermost loop to represent the number of rows which is 7 in this case
//for the upper half of arrow
for (i=1; i<= rows; i++)
{
​//innermost loop is to print the numbers in the specific rows
//for the upper half of arrow
for (j=1; j<=i; j++)
{
System.out.print(j + " ");
}
System.out.println();
}
​//outermost loop to represent the number of rows which is 6 in this case
//for the lower half of arrow
for (i=rows-1; i>=1; i--)
{
​//innermost loop is to print the numbers in the specific rows
//for the lower half of arrow
for (j=1; j<=i; j++)
{
System.out.print(j + " ");
}
System.out.println();
}
}
}

출력:

자바의 패턴

 

위 예에서는 화살표를 두 부분으로 나누고 각 절반에 2개의 루프를 사용해야 합니다. 행의 처음 절반은 행에 대해 설정된 초기 값이 되는 반면, 아래쪽 절반의 행 개수는 초기 값보다 1 적습니다. 양쪽 절반에 대한 내부 루프는 외부 루프에 따라 각 행을 반복하는 데 사용됩니다.

예3: 별(*)을 사용하여 전체 피라미드 인쇄

코드:

public class FullPyramid
{
public static void main(String[] args)
{
int i, j, k;
int rows = 5;
//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++)
{
//innermost loop to represent the spaces in pyramid for (j= 1; j<= rows-i; j++)
{
System.out.print(" ");
}
​//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= 2*i-1; k++)
{
System.out.print("* ");
}
System.out.println();
}
}
}

출력:

자바의 패턴

위의 예에서 우리는 3가지 작업을 수행해야 합니다. 즉, 첫 번째 for 루프가 1에서 행 변수까지 작업하는 피라미드 인쇄를 위한 총 행 수를 염두에 두어야 합니다. 둘째, 먼저 피라미드의 공백을 인쇄한 다음 공백 뒤에 패턴(*)을 인쇄해야 합니다. 두 번째와 세 번째 ​의 경우 for 루프는 외부 루프 'i' 내부에서 사용됩니다.

예 4: 숫자를 사용하여 반역피라미드 인쇄

코드:

public class ReversePyramid
{
public static void main(String[] args)
{
int i, j, k;
int rows = 5;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++)
{
//innermost loop to represent the spaces
for (j= 1; j<= rows-1; j++)
{
System.out.print(" ");
}
​//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= i; k++)
{
System.out.print("* ");
}
System.out.println();
}
}
}

출력:

자바의 패턴

간단한 반 피라미드는 숫자, * 또는 인쇄 중인 문자를 처리해야 하기 때문에 쉽지만 역피라미드의 경우 먼저 공백을 인쇄한 다음 패턴을 인쇄해야 합니다. 이 경우에는 (*)입니다. . 따라서 3개의 for 루프가 사용되며 전체 피라미드의 경우와 유사하게 작동합니다.

예 5: 알파벳을 사용하여 피라미드의 절반 인쇄

코드:

public class AlphabetPyramid
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
​//innermost loop to represent the alphabets in a pyramid in particular row for (j= 1; j<= i; j++)
{
System.out.print((char)(ch + i - 1) + " ");
}
System.out.println();
}
}
}

출력:

자바의 패턴

피라미드는 위의 예에서 사용된 것과 동일한 논리로 인쇄됩니다. 2개의 for 루프(행 수에 대해 하나, 특정 행의 문자 인쇄에 대해 다른 루프)를 사용합니다. 그러나 주목해야 할 주요 사항은 문자 데이터 처리입니다. 예를 들어 자바에서는 'A'라는 숫자값이 65이므로 모든 수학적 논리는 알파벳의 숫자값을 이용하여 수행되고, 결국에는 문자형식으로 출력된다.

예시 6: 알파벳 인쇄 패턴

코드:

public class AlphabetPattern
{
public static void main(String[] args)
{
int i, j;
//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
​//innermost loop to represent the alphabets for (j= 1; j<= i; j++)
{
System.out.print((char)(ch - 1 + j) + " ");
}
System.out.println();
}
}
}

출력:

자바의 패턴

위 예에서 문자 값을 처리하기 위해 따른 기본 패턴과 2개의 for 루프는 원하는 패턴을 인쇄하는 데 사용되는 간단한 논리만 제외하고 예 5와 유사합니다.

예시 7: 별표(*)를 사용하여 사각형 인쇄

코드:

public class SquarePattern
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
//innermost loop to represent the stars (*) for (j= 1; j<= 5; j++)
{
System.out.print(" * " + " ");
}
System.out.println();
}
}
}

출력:

자바의 패턴

For printing of square, we need length and width, i.e. both sides of the square should be the same, which is 5 in our case. So the first ​ ​loop is used for the length or number of rows in the square, and the inner ​ ​loop is used for the width of the square, i.e. 5 stars in a single row.

Example 8: Printing rectangle using stars (*).

Code:

public class RectanglePattern
{
public static void main(String[] args)
{
int i, j;
​//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++)
{
int ch = 65;
​//innermost loop to represent columns the stars (*) for (j= 1; j<= 9; j++)
{
System.out.print(" * " + " " );
}
System.out.println();
}
}
}

Output:

자바의 패턴

The basic logic of printing the rectangle of (*) is the same as printing of squares, the only difference between is the different length and width of the rectangle. Here ‘i’ loop is for the length of the rectangle, and the inner ‘j’ loop is for the width of the loop. Our program is taken as a constant value; we can also ask the user and store them in separate variables.

Example 9: Printing a Diamond using stars.

Printing a diamond in Java is a very simple process. It involves printing 2 pyramids, 1 in the upward direction and another in an inverted direction. Basically, we need to use the loops to do the coding to print two separate pyramids.

Code:

public class Diamond
{
public static void main(String[] args)
{
int i, j, k;
int rows = 5;
​//outermost loop to represent the number of rows which is 5 in this case.
// Creating upper pyramid
for(i= 1; i<= rows; i++)
{
//innermost loop to represent the spaces in upper pyramid for (j= 1; j<= rows-i; j++)
{
System.out.print(" ");
}
​//innermost loop to represent the stars (*) in upper pyramid for (k= 1; k<= 2*i-1; k++)
{
System.out.print("* ");
}
System.out.println();
}
​//outermost loop for the rows in the inverted pyramid for (i = rows-1; i>0; i--)
{
​//innermost loop for the space present in the inverted pyramid for (j=1; j<= rows - i; j++)
{
System.out.print(" ");
}
​//innermost loop inside the outer loop to print the ( * ) pattern in inverted pyramid for (k = 1; k<= 2*i-1; k++)
{
System.out.print("* ");
}
System.out.println();
}
}
}

In the above example, almost the same logic is applied to create both pyramids, one in an upward direction and another in an inverted direction. Thus, the first ​loop is for the number of lines or rows in the pattern, and the second is for spaces and the stars (*) pattern in the pattern.

Output:

자바의 패턴

Example 10: Printing binary numbers in a stair format.

Code:

public class BinaryStair
{
public static void main(String[] args)
{
int i, j;
//outer loop for the total rows which is 5 in this case for (i = 1; i <= 5; i++)
{
​//inner loop for the pattern of 0 and 1 in each row for (j = 1; j<= i ; j++)
{
if (j % 2 ==0)
{
System.out.print(0);
}
else
{
System.out.print(1);
}
}
System.out.println();
}
}
}

Output:

자바의 패턴

In the above example, in order to print binary pattern, outer ​for ​loop ‘i’ is used for a total number of rows, and the inner ​for ​loop ‘j’ is used to iterate till the outer loop ‘i’ because for the 1st row, we need 1 value, for the 2nd row we need 2 values, and so on. ​If​ and else ​statements are used in order to print the alternate value of 0 and 1. Suppose for the first time i=1, j=1 and 1%2 != 0, then 1 is printed, and execution will move out of the inner loop.

Example 11: Program to print repeating alphabet patterns.

Code:

public class AlphabetReverseOrder
{
public static void main(String[] args)
{
int i, j, k;
//outer loop for the total rows which is 5 in this case for (i = 0 ; i<=5; i++)
{
int ch= 65;
//inner loop for the pattern of alphabets in till ‘i’ loop for (j = 0; j <=i ; j++)
{
System.out.print((char) (ch+j) + " ");
}
//inner loop for the pattern of alphabets in reverse order from ‘i’ loop for (k= i-1; k >=0; k--)
{
System.out.print((char) (ch+k) + " ");
}
System.out.println();
}
}
}

Output:

자바의 패턴

In the above example, if we observe each row of pattern, we need to print the alphabet first in the increasing order, i.e. A B and then in the reverse order, i.e. A B A. For this, we need 3 loops, 1st ​for​ loop for the total number of rows. 2nd ​for​ loop to print the alphabets in increasing order then the 3rd ​for​ loop which remains inside the outer ‘i’ loop and prints the alphabets in the same line but in reverse order of ‘j’ loop.

Conclusion

The above example and their explanations clearly show how to make such patterns in Java. Though these patterns seem to be difficult in the starting, observing them deeply of how the repetition of pattern is happening in a single row and according to how many loops should be used, it becomes easy to do hands-on on this. Today also, in interviews of big companies, candidates are asked to write the logic of patterns of varying difficulty levels because this pattern making shows the basic logical and programming knowledge of an individual.

위 내용은 자바의 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.