AWS CLOUD FRAMEWORK/Java

[Day06] LoopCount

JWJ_Hub 2023. 3. 16. 14:37
package loop;

public class Ex07_LoopCount {
	public static void main(String[] args) {
		
		// 가로와 세로가 같은 정사각형 안에서 도형을 출력하기
		/*					출력 순서 : 공백 -> 별 -> 공백
		 0	    *			     	  2     1     2
		 1	  * * *   				  1     3     1
		 2	* * * * *				  0     5     0
		 3	  * * *					  1     3     1
		 4	  	*					  2     1     2
		 */
		
		int length = 5;
		String space = "  ";
		String star = "* ";
		int sp = length / 2;		// 공백을 출력하는 반복 횟수
		int st = 1;					// 도형을 출력하는 반복 횟수
		
		for(int i = 0; i < length; i++) {		// 한 줄의 출력 내용을 순서대로 작성
			for(int j = 0; j < sp; j++) {
				System.out.print(space);
			}
			for(int j = 0; j < st; j++) {
				System.out.print(star);
			}
			for(int j = 0; j < sp; j++) {
				System.out.print(space);
			}
			System.out.printf("\t%d, %d, %d\n", sp, st, sp);
			// 출력할 내용이 모두 끝나면 한 줄을 바꾼다
			
			if(i < length / 2) {	// 시작부터 절반까지 반복횟수 변화
				sp -= 1;
				st += 2;
			}
			else {					// 절반 이후부터 끝까지 반복 횟수 변화
				sp += 1;
				st -= 2;
			}
		}
		System.out.println("====================================");
		
		sp = length - 1;
		st = 1;
		
		for(int i = 0; i < length; i++) {		// 한 줄의 출력 내용을 순서대로 작성
			for(int j = 0; j < sp; j++) {
				System.out.print(space);
			}
			for(int j = 0; j < st; j++) {
				System.out.print(star);
			}
			System.out.printf("\t%d, %d\n", sp, st);
			// 출력할 내용이 모두 끝나면 한 줄을 바꾼다
			
			sp -= 1;
			st += 1;
		}
		
		System.out.println("====================================");
		
		
	}
}