Java
[Java] 다이아몬드 별 찍기
bkuk
2022. 9. 26. 17:06
출력
소스코드
package styudy;
public class halfStarTree {
public static void main(String[] args) {
// row 1 => 공백(nbsp) 3, 별(star) 1
// row 2 => 공백(nbsp) 2, 별(star) 3
// row 3 => 공백(nbsp) 1, 별(star) 5
// row 4 => 공백(nbsp) 0, 별(star) 7
// 출력은 4줄이니, 전체 for문은 4회 반복
for(int row = 0; row <= 3; row++) {
// 공백(nbsp)은 row가 1씩 증가하면 1씩 감소
for( int nbsp = 1; nbsp <= 4 - row; nbsp++) {
System.out.print(" ");
}
// 별(star)는 row가 1씩 증가하면 ((row +2) +1) 증가
for( int star = 1; star <= ((row * 2) + 1); star++) {
System.out.print("*");
}
System.out.println("");
}
}
}
출력
소스코드
package styudy;
public class diamondStarTree {
public static void main(String[] args) {
// <1구간> 1 ,2 ,3 ,4 번
// row가 1씩 증가하면 공백은 1씩 감소, 별은 (row * 2) + 1
// <2구간> 5번 6번 7번
// row 1씩 증가하면 공백은 1개씩 증가, 별은 2개씩 감소
for( int row = 0; row <= 6; row++) {
if(row <= 3) {
for(int nbsp = 1; nbsp <= (4 - row); nbsp++ ) {
System.out.print(" ");
}
for(int star = 1; star <= ((row * 2) + 1); star++) {
System.out.print("*");
}
}
if(row >= 4) {
for(int nbsp = 3; nbsp <= row; nbsp++ ) {
System.out.print(" ");
}
for(int star = 1; star <= (14 - ((row * 2) + 1)); star++) {
System.out.print("*");
}
}
System.out.println("");
}
}
}