이 문제는 풀이 방법이 다양한 것 같다. 이전에 기술한 것과 다르게 풀이를 해 보았다.

[문제] 구구단의 일부분을 다음과 같이 출력하시오.

[실행결과]

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

package practice;

public class Exercise4_12 {

	public static void main(String[] args) {
		for(int i = 2;i < 9;i += 3) {  // 크게 3부분으로 나누고
		cont:	for(int j = 1;j < 4;j++) {  // 각 부분을 풀되
				int k = 0;
				for(;k < 2;k++) {  // 탭을 출력하는 부분과
					System.out.print((i+k) + "*" + j + "=" + (i+k)*j);
					if(i+k == 9) {  // 마지막 9단일 경우는 별도로 처리를 해 보았다.
						System.out.println();
						continue cont;
					}
					else {
						System.out.print("\t");
					}
				}
				System.out.println((i+k) + "*" + j + "=" + (i+k)*j);  // \n을 출력하는 부분으로 나누고
			}
			System.out.println();
		}
	}
}

깨끗한 것 같지는 않다...

Posted by 세상을 살아가는 사람
,

다음과 같이 구구단을 출력하는 프로그램을 작성하여야 한다.

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

이를 위해서는 다음과 같은 반복문을 만족하도록 x와 y의 규칙을 정하여야 한다.

package chap04.verify;

public class Exercise4_12 {

	public static void main(String[] args) {
		for(int i = 1; i < 10;i++) {
			for(int j = 1;j <= 3;j++) {
				int x = ?;
				int y = ?;
				if(x == 10) {	// 10단은 제외
					break;
				}
				System.out.print(x + "*" + y + "=" + x * y + "\t");
			}
			System.out.println();
			if(i % 3 == 0) {
				System.out.println();
			}
		}
	}
}

이를 위해 i, j와 x, y의 관계표를 작성하면 다음과 같다.

i, j와 x, y의 연관관계를 분석해 보면 위와 같은 관계식이 도출된다.

이를 코드로 나타내면 다음과 같다.

package chap04.verify;

public class Exercise4_12 {

	public static void main(String[] args) {
		for(int i = 1; i < 10;i++) {
			for(int j = 1;j <= 3;j++) {
				int x = 3*((i-1)/3)+j+1;
				int y = (i % 3 == 0)? 3 : i % 3;
				if(x == 10) {
					break;
				}
				System.out.print(x + "*" + y + "=" + x * y + "\t");
			}
			System.out.println();
			if(i % 3 == 0) {
				System.out.println();
			}
		}
	}
}

실행결과는 다음과 같다.

'자바' 카테고리의 다른 글

디자인 패턴 - 옵저버 패턴  (0) 2022.07.11
디자인 패턴 -전략 패턴  (0) 2022.07.10
자바의 정석 연습문제 풀이 3-1 중  (0) 2022.06.29
자바 protected 접근 제어자  (0) 2017.05.18
자바 라벨 제어문  (0) 2017.05.12
Posted by 세상을 살아가는 사람
,