자바의 정석에 나오는 연습문제 4-12를 풀어본다. 답이 복잡한데, 나는 다르게 풀어서 공유를 한다. 문제는 아래와 같다.
나는 아래와 같이 3개의 반복문을 중첩해서 풀었다. 해결방법은 여러가지 이다.
public class Ex4_12 {
public static void main(String[] args) {
int i, k;
for(k = 0;k < 3;k++) {
for(int j = 1;j <= 3;j++) {
int end = (4 + 3 * k) > 9 ? 9 : 4 + 3 * k;
for(i = 2 + 3 * k;i < end;i++) {
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println(i + "*" + j + "=" + i * j);
}
System.out.println();
}
}
}
실행결과는 아래와 같다.
아래 소스코드를 참조하면 좀더 이해가 될수 있다.
package chap04;
/*
2*1=2 3*1=3 4*1=4
2*2=4 3*2=6 4*2=8
2*3=6 3*3=9 4*3=12
5*1=5 6*1=6 7*1=7
5*2=10 6*2=12 7*2=14
5*3=15 6*3=18 7*3=21
8*1=8 9*1=9
8*2=16 9*2=18
8*3=24 9*3=27
*/
public class Ex4_12 {
public static void main(String[] args) {
int i, k; // 반복문이 3개를 사용하므로 i, j, k
for(k = 0;k < 3;k++) { // k : 0~2 3번 반복
for(i = 1;i <= 3;i++) {
int j;
int end = 4 + 3 * k; // 종료조건
if(end > 9)
end = 9;
for(j = 2 + 3 * k;j < end;j++) { // (2,4), (5,7), (8,9)
System.out.print(j + "*" + i + "=" + j*i + "\t");
}
System.out.println(j + "*" + i + "=" + j*i);
}
System.out.println(); // 줄 바꾸기
}
/*
2*1=2 3*1=3 4*1=4
2*2=4 3*2=6 4*2=8
2*3=6 3*3=9 4*3=12
*/
// for(i = 1;i <= 3;i++) {
// int j;
// for(j = 2;j < 4;j++) {
// System.out.print(j + "*" + i + "=" + j*i + "\t");
// }
// System.out.println(j + "*" + i + "=" + j*i);
// }
// System.out.println(); // 줄 바꾸기
// /*
// 5*1=5 6*1=6 7*1=7
// 5*2=10 6*2=12 7*2=14
// 5*3=15 6*3=18 7*3=21
// */
// for(i = 1;i <= 3;i++) {
// int j;
// for(j = 5;j < 7;j++) {
// System.out.print(j + "*" + i + "=" + j*i + "\t");
// }
// System.out.println(j + "*" + i + "=" + j*i);
// }
// System.out.println();
// /*
// 8*1=8 9*1=9
// 8*2=16 9*2=18
// 8*3=24 9*3=27
// */
// for(i = 1;i <= 3;i++) {
// int j;
// for(j = 8;j < 9;j++) {
// System.out.print(j + "*" + i + "=" + j*i + "\t");
// }
// System.out.println(j + "*" + i + "=" + j*i);
// }
}
}
여러가지 방법으로 풀 수 있으니 자신의 방법으로 풀어본다...
'자바' 카테고리의 다른 글
자바 엑셀 파일 읽기(.xlsx) (0) | 2022.07.14 |
---|---|
자바 문제풀이 - 인터페이스를 저장한 List (0) | 2022.07.14 |
자바의 정석 4-12 구구단의 일부분 출력 (0) | 2022.07.13 |
PC 환경변수란? (0) | 2022.07.13 |
디자인 패턴 - 옵저버 패턴 (0) | 2022.07.11 |