*별 찍기

uc·2024년 2월 17일
post-thumbnail

별 찍기

- 중첩 for문 사용

1.

		int a,b;	// 무엇을 변수에 담아야 할 지 먼저 구도 생각하기
		for(a=1; a<=5; a++) {			// 줄
			for(b=1; b<=3; b++) {
				System.out.print("*");	// 별
			}
			System.out.println();
		}

2.

		int a,b;		// 1~5까지 증가하는 구도
		for(a=1; a<=5; a++) {
			for(b=1; b<=a; b++) {
            // 증감연산자를 이용해 별로 지정한 변수에 대입
				System.out.print("*");
			}
			System.out.println();
		}

3.

		int a,b;		// 1씩 감소하는 구도
		for(a=1; a<=5; a++) {
			for(b=1; b<=6-a; b++) {
            // 1부터 커지는 a를 이용해 5~ 출력
				System.out.print("*");
			}
			System.out.println();
		}

4.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=a; b<=4+a; b++) {	// 초기식, 조건식 같이 증가
				System.out.print(b);
			}
			System.out.println();
		}

5.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=6-a; b<=10-a; b++) { // 초기식, 조건식 같이 감소
				System.out.print(b);
			}
			System.out.println();
		}

6.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=1; b<=a; b++) {	// 5까지 증가하는 구도
				System.out.print("*");
			}
			System.out.println();
		}
		for(a=1; a<=4; a++) {
			for(b=1; b<=5-a; b++) {	// 4부터 감소하는 구도
				System.out.print("*");
			}
			System.out.println();
		}

7.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=1; b<=5-a; b++) {		// 4부터 감소하는 공백
				System.out.print(" ");
			}
			for(b=1; b<=a; b++) {
				System.out.print("*");	// 1부터 증가하는 별
			}
			System.out.println();
		}

8.

		int a,b;			// 중첩 for문 2개 사용
		for(a=1; a<=6; a++) {
			for(b=1; b<=6-a; b++) {	// 5부터 감소하는 공백
				System.out.print(" ");
			}
			for(b=1; b<=a; b++) {	// 1~6까지 증가
				System.out.print("*");
			}
			System.out.println();
		}
		for(a=1; a<=5; a++) {
			for(b=1; b<=a; b++) {	// 1부터 증가하는 공백
				System.out.print(" ");
			}
			for(b=1; b<=6-a; b++) {	// 5부터 감소
				System.out.print("*");
			}
			System.out.println();
		}

9.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=1; b<=5-a; b++) {		// 4부터 감소
				System.out.print(" ");
			}
			for(b=1; b<=a*2-1; b++) {
            			// 1부터 2씩 커지도록 조건식 구성
				System.out.print("*");
			}
			System.out.println();
			
		}

10.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=1; b<a; b++) {		// 0부터 커지는 공백
				System.out.print(" ");
			}
			for(b=1; b<=11-a*2; b++) {	// 9부터 2씩 감소하도록
				System.out.print("*");
			}
			System.out.println();
		}

11.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=1; b<=6-a; b++) {
				System.out.print("*");
			}
			System.out.println();
		}
		for(a=1; a<=4; a++) {
			for(b=1; b<=a+1; b++) {		// 2부터 커지도록
				System.out.print("*");
			}
			System.out.println();
		}

12.

		int a,b;
		for(a=1; a<=5; a++) {		// 1번째 바깥 for문
			for(b=1; b<=a-1; b++) {	// 0부터 증가
				System.out.print(" ");
			}
			for(b=1; b<=6-a; b++) {
				System.out.print("*");
			}
			System.out.println();
		}
		for(a=1; a<=4; a++) {		// 2번째 바깥 for문
			for(b=1; b<=4-a; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=a+1; b++) {
				System.out.print("*");	// 2부터 증가
			}
			System.out.println();
		}

13.

		int a,b;
		for(a=1; a<=5; a++) {
			for(b=1; b<=5-a; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=a*2-1; b++) {	// 2씩 커지도록
				System.out.print("*");
			}
			System.out.println();
		}
		for(a=1; a<=4; a++) {
			for(b=1; b<=a; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=9-(a*2); b++) {	// 7부터 2씩 감소
				System.out.print("*");
			}
			System.out.println();
		}

- for-if 사용

반복문 <-> 조건문 사용

1.

			int a,b;
			int star = 1;
			for(a=1; a<=5; a++) {
				for(b=1; b<=star; b++) {	// 1로 고정된 변수
					System.out.print("*");
				}
				if(true) {				// 1씩 계속 증가하는 구도
					star++;
					System.out.println();
				}
			}

2.

			int a,b;
			int star = 5;
			for(a=1; a<=5; a++) {
				for(b=1; b<=star; b++) {
					System.out.print("*");
				}
				if(a<6) {				// true
					star--;				// 감소하게
				}
				System.out.println();
			}

3.

			int a,b;
			int star = 1;
			boolean status = true;
           		 // 증가->감소 시키기 위한 논리형 타입 사용
			for(a=1; a<=9; a++) {			// 9번 반복
				for(b=1; b<=star; b++) {	// 1 값의 변수를 대입
					System.out.print("*");
				}
				if(status) {		// true
					star++;			// 고정된 값의 증가
				}else{
					star--;			// false 일 때 감소
				}
				if(a==4) {
					status = false;
                    // 4에서 false로 변경
               		// star는 순차적으로 5번째 별을 출력하고 else로
				}
				System.out.println();
			}

4.

			int a,b;
			int star = 1;
			int space = 4;
			boolean status = true;
			for(a=1; a<=5; a++) {
				for(b=1; b<=space; b++) {
					System.out.print(" ");
				}
				for(b=1; b<=star; b++) {
					System.out.print("*");
				}
				if(status) {
					star++;			// 별 증가
					space--;		// 공백 감소하도록
				}
				System.out.println();
			}

5.

		int a,b;
		int star = 5;
		int space = 0;			// 공백 0부터 증가하는 구도
		boolean status = true;
		for(a=1; a<=5; a++) {
			for(b=1; b<=space; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=star; b++) {
				System.out.print("*");
			}
			if(status) {
				star--;
				space++;
			}
			System.out.println();
		}

6.

		int a,b;
		int star = 1;
		int space = 5;
		boolean status = true;
		for(a=1; a<=11; a++) {
			for(b=1; b<=space; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=star; b++) {
				System.out.print("*");
			}
			if (status) {
				star++;
				space--;
			}else {
				star--;
				space++;
			}
			if(star == 6) {		// 6번째 별 출력 후 false
				status = false;	// 일 때 출력된 별은 5개
			}
			System.out.println();
		}

7.

		int a,b;
		int star = 1;
		int space = 4;
		for(a=1; a<=5; a++) {
			for(b=1; b<=space; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=star; b++) {
				System.out.print("*");
			}
			if(true) {
				star+=2;	// 1부터 2씩 증가
				space--;
			}
			System.out.println();
		}

8.

		int a,b;
		int star = 4;	// 9부터 2씩 감소하기 위한 구도
		int space = 0;
		for(a=1; a<=5; a++) {
			for(b=1; b<=space; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=star*2+1; b++) { 
            // 후에 증감연산을 사용함으로 2씩 감소하는 조건식
				System.out.print("*");
			}
			if(true) {
				star--;			// 1씩 감소
				space+=1;		// 공백은 1씩 증가
			}
			System.out.println();
		}

9.

		int a,b;
		int star = 5;
		boolean status = true;
		for(a=1; a<=9; a++) {
			for(b=1; b<=star; b++) {
				System.out.print("*");
			}
			if(status) {
				star--;
			}else {
				star++;
			}
			if(a == 4) {	// 5번 출력 후 증가로 바꿔주는 구도
				status = false;
			}
			System.out.println();
		}

10.

		int a,b;
		int star = 5;
		int space = 0;
		boolean status = true;
		for(a=1; a<=9; a++) {
			for(b=1; b<=space; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=star; b++) {
				System.out.print("*");
			}
			if(status) {
            // true일 동안 0에서 증가하는 공백, 감소하는 별
				star--;
				space++;				
			}else {
				star++;
				space--;
			}
			if(a == 4) {
				status = false;
			}
			System.out.println();
		}

11.

		int a,b;
		int star = 1;
		int space = 4;
		boolean status = true;
		for(a=1; a<=9; a++) {
			for(b=1; b<=space; b++) {
				System.out.print(" ");
			}
			for(b=1; b<=star*2-1; b++) { // 2씩 증가하는 구도
				System.out.print("*");
			}
			if(status) {
				star++;
				space--;
			}else {
				star--;
				space++;
			}
			if(a==4) {		// 5번째 줄 출력 후 스위칭
				status = false;
			}
			System.out.println();
		}
profile
velini

0개의 댓글