[Java] 별찍기 예제 (For문 연습)

옛날에 공부했던 소스들을 정리하면서 발견한 별찍기 소스입니다. 자바 공부를 처음할때 열심히 밤새면서 돌리던게 기억나네요 ㅎㅎㅎ 혹시나 참고하실분 계실까 싶어 올립니다. FOR문 연습에는 별찍기가 최고~



1. 간단한 2차원 배열 별찍기입니다.

별찍기

for(int i=0;i<3;i++){
	for(int j=0;j<4;j++){
		System.out.print("*");
	}
	System.out.println("");
}


2. 삼각형 모양의 별찍기입니다.

별찍기

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


3. 삼각형 모양의 별찍기입니다.

별찍기

for(int i=1;i<5;i++){
	for(int j=4;j>0;j--){
		if(i<j){
			System.out.print(" ");
		}else{
			System.out.print("*");
		}
	}
	System.out.println("");
}


4. 피라미드 모양의 별찍기입니다.

별찍기

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



5. 홀수를 입력하면 그에 맞는 다이아몬드(마름모) 모양의 별이 나오는 예제입니다.

별찍기

System.out.println("홀수를 입력해주세요");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for (int i=0;i<num;i++){
  for (int j=0; j<num;j++)
  {
     if (i<=num/2)// 위쪽 영역
     {
        if (i+j<=num/2-1)// 왼쪽 위 공백찍기
           System.out.print(" ");
        else if (j-i>=num/2+1) // 오른쪽 위 공백찍기
        	System.out.print(" ");
        else
           System.out.print("*");// *찍기
     }
     else if (i>num/2) //아래쪽 영역
     {
        if (i-j>=num/2+1) //왼쪽 밑 공백
        	System.out.print(" ");
        else if (i+j>=num/2*3+1)//오른쪽 밑 공백
        	System.out.print(" ");
        else
        	System.out.print("*"); // *찍기
     }
  }
  System.out.println();//줄바꿈
}


댓글(5)

  • 공부 중인 불혹
    2019.01.04 19:31

    좋은 도움이 되었슙니다.

  • 이잎새
    2019.04.16 15:27

    학원에서 공부하는데 몰라서 배꼇어여..ㅋ... 감사합니다~

  • 2019.09.26 19:34

    비밀댓글입니다

  • ppoki
    2020.04.09 20:08

    너무 도움되었습니다! 참고좀 하겠습니다

Designed by JB FACTORY