320x100
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("N을 입력하세요: ");
int N = scanner.nextInt();
// 이거 아래는 라인 개수임 예를 들어어서 N이 3이면 0 1 2 해서 3줄
for (int i = 0; i < N; i++) {
// 공백 개수를 해야함 왜냐하면 공백이 먼저 와야 피라미드 식으로 나오기 때문에 공백 다음에 * 이 와야함
// 별의 개수는 공백에서 i, 즉 라인 개수보다 하나 작아야함 왜냐하면 피라미드 구조이기 때문에 마지막 줄은 공백이 없어야함
// 그리고 첫줄의 공백은 라인의 수 보다 1이 작은거로 공백이 나와야함 (피라미드 구조가 1 3 5 7 9 이런식으로 나오니까)
for (int j = 0; j < N - i - 1; j++) {
System.out.print(" ");
}
// N이 3일대 별은 1 3 5 줄마다 N이 1,2,3 이면 1일때 1개 / 2일때 3개 / 3일때 5개 / 4일때 7개다.
// 이것의 규칙성은 피보나치로 반복문 규칙임
// N이 1이면 0 < 2 * 0 +1 로 별 개수는 하나 공백은 0개가 됨
// 그렇게 해서 N을 3으로하면 줄 개수는 0 1 2 로 3줄
// 공백은 첫번째 줄 순서로 2 1 0 으로 공백 만들어짐
// 별개수는 1 3 5 가 돼야함 . >> i * 2 + 1 >> 1 , 3 , 5
for (int j = 0; j < 2 * i + 1; j++) {
System.out.print("*");
}
// 줄 바꿈
System.out.println();
}
}
}
반응형
반응형
'코딩 > JAVA' 카테고리의 다른 글
자바 숫자 N 입력 하여 * 찍기 (0) | 2024.08.20 |
---|---|
자바 반복문 테스트 1000000 이하 짝수의 합 구하기 (0) | 2024.08.19 |