다음과 같이 구구단을 출력하는 프로그램을 작성하여야 한다.
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();
}
}
}
}
실행결과는 다음과 같다.