자바(Java) for 문 이용해서 피라미드, 역 피라미드 만드는 방법

자바(JAVA)

자바(Java) for 문 이용해서 피라미드, 역 피라미드 만드는 방법

 

환경:Eclipse Mars,Android 4.2.2

 

자바에서 자주 쓰이는 반복문 for 를 이용해서 피라미드 만드는 법에 대해 간단히 알아 보겠습니다. for 문을 익히는데 이것만한 예제가 없죠.

 

for 문과 와일드카드(*), 공백을 이용해서 콘솔에 피라미드를 출력하는 소스 입니다. 예를 들어 num = 10 이라고 했을 때 for 문안에 있는 첫번째 for 문은 공백을 표시하게 됩니다. 첫 행부터 8, 7, 6 … 식으로 줄이면서 표시하게 되겠죠. 두번째 와일드카드 표시 for 문은 곱하기 2 을 해서 표시해야 되는 개수를 늘이고 홀수로 만들기 위해 +1 을 했습니다. 홀수로 만들어야 양쪽으로 동일한 크기의 표시가 가능하겠죠.

 

for (int i = 0; i < num; i++) {
	for (int j = 1; j < num - i; j++) {
		System.out.print(" ");
	}
	for (int k = 0; k < i * 2 + 1; k++) {
		System.out.print("*");
	}
	System.out.println();
}

 

 

▼ 위에서 만든 정상적인 피라미드를 뒤집어서 역 피라미드를 만들었습니다. num 에 입력된 개수에서 하나씩 줄이면서 계산했습니다.


for (int i = num; i > 0; i--) {
	for (int j = num - i; j > 0; j--) {
		System.out.print(" ");
	}
	for (int k = i * 2 - 1; k > 0; k--) {
		System.out.print("*");
	}
	System.out.println();
}

 

▼ 아래는 두가지 샘플을 한번에 테스트 해 볼수 있는 전체 소스 입니다.


public class Pira {
	public static void main(String[] args) {

		int num = 10;

		for (int i = 0; i < num; i++) {
			for (int j = 1; j < num - i; j++) {
				System.out.print(" ");
			}
			for (int k = 0; k < i * 2 + 1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}

		for (int i = num; i > 0; i--) {
			for (int j = num - i; j > 0; j--) {
				System.out.print(" ");
			}
			for (int k = i * 2 - 1; k > 0; k--) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}
저작자 표시 비영리 변경 금지
신고
Posted by 녹두장군