[자바] 반복문을 이용한 별찍기 문제 풀어보기

heegon·2025년 6월 26일

JAVA

목록 보기
5/20
post-thumbnail

1번 문제

출력 형태

****
****
****

1번 문제에 대한 나의 코드

public class Task1 {

	public static void main(String[] args) {
		for(int secondStar=1; secondStar<=3; secondStar++) {
			for(int firstStar=1; firstStar<=4; firstStar++) {
				System.out.print('*');
			}
			System.out.println("");
		}

	}

}

1번 문제는 너무 기초여서 리뷰라고 할 것이 마땅히 없다.

2번 문제

출력 형태

*
**
***
public class Task2 {

	public static void main(String[] args) {
		
		for(int floor=0; floor<3; floor++) {
			for(int printStar=0; printStar < floor+1; printStar++) {
				System.out.print('*');
			}
			System.out.println("");
		}
	
	}

}

3번 문제

출력 형태

  *
 **
***
public class Task3 {
	
	public static void main(String[] args) {
		
		for(int floor=0; floor<3; floor++) {
			for(int blank=0; blank>floor-2; blank--) {
				System.out.print(" ");
			}
			for(int star=0; star<floor+1; star++) {
				System.out.print("*");
			}
			System.out.println("");
		}
	
	}

}

4번 문제

출력 형태

  *
 ***
*****
public class Task4 {

	public static void main(String[] args) {
		
		for(int floor=0; floor<3; floor++) {
			for(int blank=0; blank>floor-2; blank--) {
				System.out.print(" ");
			}
			for(int star=0; star<((floor+1)*2)-1; star++) {
				System.out.print("*");
			}
			System.out.println("");
		}
	
	}

}

5번 문제

출력 형태

  *
 ***
*****
 ***
  *
public class Task5 {

	public static void main(String[] args) {
		
		//윗줄
		for(int floor=0; floor<3; floor++) {
			for(int blank=0; blank>floor-2; blank--) {
				System.out.print(" ");
			}
			for(int star=0; star<((floor+1)*2)-1; star++) {
				System.out.print("*");
			}
			System.out.println("");
		}
		
		//아랫줄
		for(int underFloor=0; underFloor<2; underFloor++) {
			for(int blank=0; blank<underFloor+1; blank++) {
				System.out.print(" ");
			}
			for(int star=3-underFloor; star>underFloor; star--) {
				System.out.print("*");
			}
			System.out.println("");
		}
	
	}

}

6번 문제

출력 형태

//5를 입력했을 때
  *
 ***
*****
 ***
  *
  
//7를 입력했을 때
   *
  ***
 *****
*******
 *****
  ***
   *
import java.util.Scanner;

public class Task6 {

	public static void main(String[] args) {
		
		//사용자에게 홀수로 된 정수를 입력 받는 부분
		System.out.println("홀수의 정수 입력 >> ");
		Scanner sc = new Scanner(System.in);
		int inputByUser = sc.nextInt();
		sc.close();
		
		int mid = inputByUser / 2;

        for (int i = 0; i < inputByUser; i++) { //입력받은 정수만큼 반복 실행 진행.
            int stars = i < mid ? 2 * i + 1 : 2 * (inputByUser - i - 1) + 1; 
            //i < mid는 가장많은 별을 출력하는 중간보다 윗부분의 다이아몬드를 그리는 것을 의미.
            //i > mid는 다이아몬드 아랫부분. 
            int spaces = (inputByUser - stars) / 2;

            System.out.print(" ".repeat(spaces));
            System.out.println("*".repeat(stars));
        }
		
	}

}
profile
❤️

0개의 댓글