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

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

 

 별찍기 Java 

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

별찍기1

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

 

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

별찍기2

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

 

 

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

별찍기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. 피라미드 모양의 별찍기입니다.

별찍기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. 홀수를 입력하면 그에 맞는 다이아몬드(마름모) 모양의 별이 나오는 예제입니다.

별찍기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();//줄바꿈
}

 

댓글

Designed by JB FACTORY