본문 바로가기
  • 마침표 보다 쉼표를 나타내자
프로그래밍/JAVA

자바 피라미드 별찍기로 그리기

by Y코더 2022. 11. 29.
728x90

피라미드 모양

앞서 마름모 모양을 했으므로

이 문제는 편안하게 풀수있다.

public class K3 {

	public static void main(String[] args) {
		for(int i=0; i<4; i++) { //4줄 생성 (2번째 값 i가 반복 횟수)
			for(int j=0; j<3-i; j++) { //공백 생성 (2번째 값 처음에 왼쪽 공백 갯수 - 1, 초기에는 0이므로 그값이 그대로 나옴)
				System.out.print(" ");
			}
			for(int j=0; j<2*i+1; j++) { //2번째 공식 : 2의배수 증가*반복횟수 + 1(홀수배열) 별찍기
				System.out.print("*");
			}
			System.out.println(); //줄넘김
		}
	}
}

 

 

줄 갯수를 입력받아 출력해보자.

import java.util.Scanner;
public class D {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		//변수 선언
		int a;
		
		//값 받기
		System.out.print("몇줄? >");
		a = scan.nextInt();
		
		//생성
		for(int i=0; i<a; i++) { //4줄 생성 (2번째 값 i가 반복 횟수)
			for(int j=0; j<(a-1)-i; j++) { //공백 생성 (2번째 값 처음에 왼쪽 공백 갯수 - 1, 초기에는 0이므로 그값이 그대로 나옴)
				System.out.print(" ");
			}
			for(int j=0; j<2*i+1; j++) { //2번째 공식 : 2의배수 증가*반복횟수 + 1(홀수배열) 별찍기
				System.out.print("*");
			}
			System.out.println(); //줄넘김
			scan.close();
		}
	}
}

 

감이 잡히니 문제 풀기가 한층 쉬워졌다.

728x90