○ 실습
실행 예)
2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5
2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10
: : : :
2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45
6 * 1 = 6 7 * 1 = 7 8 * 1 = 8 9 * 1 = 9
6 * 2 = 12 7 * 2 = 14 8 * 2 = 16 9 * 2 = 18
: : : :
6 * 9 = 54 7 * 9 = 21 8 * 9 = 72 9 * 9 = 81
① 2중첩*2 로 코드 작성
③ 3중첩*1 로 코드 작성
▼ 내가 작성한 코드 ①
public class Test059
{
public static void main(String[] args)
{
int dan, n;
for (n=1; n<10; n++)
{
System.out.println();
for (dan=2;dan<=5 ;dan++ )
{
System.out.printf("%d * %d = %2d ", dan, n, (dan*n));
}
}
for (n=1;n<=9 ;n++ )
{
System.out.println();
for (dan=6;dan<=9 ;dan++ )
{
System.out.printf("%d * %d = %2d ", dan, n, (dan*n));
}
}
System.out.println();
}
}
▼ 내가 작성한 코드 ②
public class Test059
{
public static void main(String[] args)
{
int dan, n, m;
int x, y;
x=2;
y=5;
for (m=2; m<10 ; m+=4 )
{
if (m==2)
{
x=6;
y=9;
}
for (n=1 ;n<10 ;n++ )
{
for (dan=m;dan<m+4 ;dan++ )
{
System.out.printf("%d * %d = %2d ", dan, n, (dan*n));
}
System.out.println();
}
System.out.println();
}
}
}
▼ 같이 작성한 코드 ①
public class Test059
{
public static void main(String[] args)
{
// ① Test058 과 비교하여
// 출력 방향(출력의 순서)가 다르기 때문에
// 반복문의 제어 흐름도 달라져야 한다.
// (한 방향으로 처리되는 콘솔 기반의 출력 환경이기 때문에...)
// ② (1)에 따라...
// 『단』과 『곱해지는 수』의 위치가
// 달라진 상태에서의 반복문 구성
for (int i=1; i<=9; i++ ) // 웅~ → 곱해지는 수 1 2 3 4 5 6 7 8 9
{
for (int j=2; j<=5; j++) // 쑝쑝쑝 → 단
{
System.out.printf("%4d * %d = %2d", j, i, (j*i));
}
System.out.println();
}
System.out.println();
for (int i=1; i<=9; i++ ) // 웅~ → 곱해지는 수 1 2 3 4 5 6 7 8 9
{
for (int j=6; j<=9; j++) // 쑝쑝쑝 → 단
{
System.out.printf("%4d * %d = %2d", j, i, (j*i));
}
System.out.println();
}
// ③ (2)에서 처리한 결과를
// 두 문단으로 반복하는 반복문 구성
// (check~!!! → 두 번 반복하는 반복문에 (2)의 결과를 삽입)
for (int h=0; h<=1; h++) // 문단 구성 check~!! → 0 1
{
//System.out.println("테스트" + h);
}
for (int i=1; i<=9; i++ ) // 웅~ → 곱해지는 수 1 2 3 4 5 6 7 8 9
{
for (int j=2; j<=5; j++) // 쑝쑝쑝 → 단
{
System.out.printf("%4d * %d = %2d", j, i, (j*i));
}
System.out.println();
}
System.out.println();
▼ 같이 작성한 코드 ②
public class Test059
{
public static void main(String[] args)
{
// ④ 같은 구문을
// 두 문단으로 나누어 처리하는 과정에서
// 문단에 따라 다르게 주어지는 환경(h의 값)을 활용하는 방법으로
// 최종 반복문 3중첩구성
for (int h=0; h<=1; h++) // 문단 구성 check~!! → 0 1
{
for (int i=1; i<=9; i++ ) // 웅~ → 곱해지는 수 1 2 3 4 5 6 7 8 9
{
for (int j=2; j<=5; j++) // 쑝쑝쑝 → 단
{
System.out.printf("%4d * %d = %2d", j+(h*4), i, ((j+(h*4))*i));
}
System.out.println();
}
System.out.println();
}
}
}