예제 및 풀이 - 반복문

전영덕·2023년 1월 27일
0

Java Study

목록 보기
10/36

문1. 2중 while문을 이용하여 구구단(2~9) 결과값을 출력

문2. for문을 이용하여 1~10까지의 숫자합 구하기

문3. for문을 이용하여 1~10까지의 홀수의 합 구하기

문4. for 1~10까지의 짝수의 합

문5.(8*8)짜리 별 출력

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

문6.

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

문7.

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

문8.while문을 이용하여 "10번찍어 안넘어 가는 나무 없다."

[결과 값]
나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
...
나무를 10번찍었습니다.
나무가 넘어갑니다.
출력하기

풀이

Main 메서드 안에 다음을 출력할 것.

문1. 구구단(2~9) 결과값을 출력, 2중 while문으로 출력

풀이1)

int i = 1, j = 0;
while (true) {
	i++;
	j = 0;
	while (true) {
		j++;
		System.out.println(i + "*" + j + "=" + (i * j));
		if (j > 8) {
			break;
		}
		}
	System.out.println("-------");
	if (i > 9) {
		break;
	}
}

풀이2)

int i = 2;
int j = 1;
while (i <= 9) {
	while (j < 10) {
		int k = i * j;
		System.out.println(i + "*" + j + "=" + k);
		j++;
	}
		if (i < 9) {
		System.out.println("-----------------");
	}
	i++;
	j = 1;
}

문2. for 1~10까지의 숫자합

int sum2 = 0;
for (int i2 = 0; i2 <= 10; i2++) {
	sum2 += i2;
	}
System.out.println("1부터 10까지의 합은" + sum2);

문3. for 1~10까지의 홀수의 합

int sum3 = 0;
int i3 = 0;
while (true) {
	i3++;
	if (i3 % 2 == 0) {
		continue;
	}
	sum3 += i3;
	if (i3 >= 9) {
		break;
	}
}
System.out.println("1부터 10의 자연수 중 홀수 들의합은" + sum3);

풀이2)

int sum3 = 0;
for (int i3 = 1; i3 < 10; i3++) {
	if (i3 % 2 == 1) {
		sum3 += i3;
		}
	}

System.out.println("1부터 10의 자연수 중 홀수 들의합은 " + sum3);
System.out.println("------------------------------------");

문4. for 1~10까지의 짝수의 합

int sum4 = 0;
for (int i4 = 1; i4 <= 10; i4++) {
	if (i4 % 2 == 0) {
		sum4 += i4;
		}
	}
System.out.println("1부터 10의 자연수 중 짝수 들의합은 " + sum4);
System.out.println("------------------------------------");
int sum4 = 0;
int i4 = 0;
while (true) {
	i4++;
	if (i4 % 2 == 1) {
		continue;
	}
	sum4 += i4;
	if (i4 >= 10) {
		break;
	}
}
System.out.println("1부터 10의 자연수 중 홀수 들의합은 " + sum4);
System.out.println("------------------------------------");

5.(8*8)짜리 별 출력

	 ********
	 ********
	 ********
	 ********
	 ********
	 ********
	 ********
	 ********
     
		for (int i5 = 1; i5 < 9; i5++) {
			for (int j5 = 1; j5 < 9; j5++) {
				System.out.print("*");
			}
			System.out.println("");
		}
		System.out.println("------------------------------------");

문6.

	 ********
	 *******
	 ******
     *****
	 ****
	 ***
	 **
	 *
		
			for (int i6 = 1; i6 < 9; i6++) {
				for (int j6 = i6; j6 < 9; j6++) {
					System.out.print("*");
				}
				System.out.println("");
			}
			System.out.println("------------------------------------");
            

풀이2)

for (int i6 = 8; i6 > 0; i6--) {
	for (int j6 = 0; j6 < i6; j6++) {
		System.out.print("*");
	}
	System.out.println("");
}

System.out.println("------------------------------------");

문7.

	 *
	 **
	 ***
	 ****
	 *****
	 ******
	 *******
	 ********
	for (int i7 = 7; i7 >= 0; i7--) {
		for (int j7 = i7; j7 < 8; j7++) {
			System.out.print("*");
		}
		System.out.println("");
	}
	System.out.println("------------------------------------");

문8.while "10번찍어 안넘어 가는 나무 없다."

[결과 값]
나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
...
나무를 10번 찍었습니다. 나무가 넘어갑니다.


i = 0;
while (true) {
	i++;
	System.out.println("나무를 " + i + "번 찍었습니다.");
		if (i >= 10) {
		System.out.println("나무가 넘어갑니다.");
		break;
	}
}

풀이2) int treeHit = 0; 라고하고 조건식에 변수를 넣어서 i++; 사용하는 방법도 있다.

0개의 댓글