Java의 패턴 기사에서는 Java 프로그래밍 언어를 배우고 고급 개념을 자세히 알아보기 전에 루프 작동을 이해하는 것이 중요합니다. 루프에는 for, while, do-while 루프의 3가지 유형이 있습니다. 각 루프는 서로 조금씩 다르기 때문에 프로그램의 특정 상황에 따라 사용됩니다. 다양한 루프를 사용하려면 프로그래밍 논리가 필요하며, 이를 위해 논리력과 추론력을 사용하는 패턴 연습이 프로그래머에게 제공됩니다. 예를 들어 기하학적 도형(예: 삼각형, 사각형 등), 피라미드, 다양한 별 패턴의 상자, 숫자 및 문자 스타일을 콘솔 화면에 인쇄할 수 있습니다. 루프의 형식이나 기본 구문은 프로그래밍 언어마다 다를 수 있지만 이러한 패턴을 인쇄하는 일반적인 논리는 동일하게 유지됩니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사예제를 통해 Java에서 패턴을 그리는 방법을 이해해 봅시다
코드:
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()을 사용하여 줄이 변경됩니다.
코드:
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 적습니다. 양쪽 절반에 대한 내부 루프는 외부 루프에 따라 각 행을 반복하는 데 사용됩니다.
코드:
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' 내부에서 사용됩니다.
코드:
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 루프가 사용되며 전체 피라미드의 경우와 유사하게 작동합니다.
코드:
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이므로 모든 수학적 논리는 알파벳의 숫자값을 이용하여 수행되고, 결국에는 문자형식으로 출력된다.
코드:
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와 유사합니다.
코드:
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.
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.
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:
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.
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.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!