for문을 사용하여 구구단을 만들어보자.
- 절차 만들기
- 하드코딩 하기 (노가다)
- 공통 모듈로 만들기
- 불필요한 부분들을 반복문으로 만들기
하드코딩의 장점
- 패턴을 확인 할 수 있다.
- 변수와 상수를 구분 할 수 있다.
- 샘플링이 가능하다.
- 절차를 생략 할 수 있다. (숙련자)
1. 하드코딩 STEP 1
package ex03;
public class Gugudan01 {
public static void main(String[] args) {
System.out.println("2*1=2"); // 변수 * 1 = (변수 * 1)
System.out.println("2*2=4");
System.out.println("2*3=6");
System.out.println("2*4=8");
System.out.println("2*5=10");
System.out.println("2*6=12");
System.out.println("2*7=14");
System.out.println("2*8=16");
System.out.println("2*9=18");
System.out.println();
System.out.println("3*1=3");
System.out.println("3*2=6");
System.out.println("3*3=9");
System.out.println("3*4=12");
System.out.println("3*5=15");
System.out.println("3*6=18");
System.out.println("3*7=21");
System.out.println("3*8=24");
System.out.println("3*9=27");
System.out.println();
System.out.println("4*1=4");
System.out.println("4*2=8");
System.out.println("4*3=12");
System.out.println("4*4=16");
System.out.println("4*5=20");
System.out.println("4*6=24");
System.out.println("4*7=28");
System.out.println("4*8=32");
System.out.println("4*9=36");
System.out.println();
}
}
2. 공통모듈 만들기 STEP 2
package ex03;
public class Gugudan01 {
public static void main(String[] args) {
int a = 1;
// 1. 2단
a++;
System.out.println(a + "*" + 1 + "=" + (a * 1));
System.out.println(a + "*" + 2 + "=" + (a * 2));
System.out.println(a + "*" + 3 + "=" + (a * 3));
System.out.println(a + "*" + 4 + "=" + (a * 4));
System.out.println(a + "*" + 5 + "=" + (a * 5));
System.out.println(a + "*" + 6 + "=" + (a * 6));
System.out.println(a + "*" + 7 + "=" + (a * 7));
System.out.println(a + "*" + 8 + "=" + (a * 8));
System.out.println(a + "*" + 9 + "=" + (a * 9));
System.out.println();
// 2. 3단
a++;
System.out.println(a + "*" + 1 + "=" + (a * 1));
System.out.println(a + "*" + 2 + "=" + (a * 2));
System.out.println(a + "*" + 3 + "=" + (a * 3));
System.out.println(a + "*" + 4 + "=" + (a * 4));
System.out.println(a + "*" + 5 + "=" + (a * 5));
System.out.println(a + "*" + 6 + "=" + (a * 6));
System.out.println(a + "*" + 7 + "=" + (a * 7));
System.out.println(a + "*" + 8 + "=" + (a * 8));
System.out.println(a + "*" + 9 + "=" + (a * 9));
System.out.println();
// 3. 4단
a++;
System.out.println(a + "*" + 1 + "=" + (a * 1));
System.out.println(a + "*" + 2 + "=" + (a * 2));
System.out.println(a + "*" + 3 + "=" + (a * 3));
System.out.println(a + "*" + 4 + "=" + (a * 4));
System.out.println(a + "*" + 5 + "=" + (a * 5));
System.out.println(a + "*" + 6 + "=" + (a * 6));
System.out.println(a + "*" + 7 + "=" + (a * 7));
System.out.println(a + "*" + 8 + "=" + (a * 8));
System.out.println(a + "*" + 9 + "=" + (a * 9));
System.out.println();
}
}
- 변수를 찾아 변수 값 초기화 및 변수가 증가하는 함수 추가
- 모든 단 똑같이 만들기 (공통 모듈 만들기)
3. for문 사용하여 반복시키기 (9바퀴)
package ex03;
public class Gugudan01 {
public static void main(String[] args) {
int a = 1;
for (int i = 0; i < 8; i++) {
a++;
System.out.println(a + "*" + 1 + "=" + (a * 1));
System.out.println(a + "*" + 2 + "=" + (a * 2));
System.out.println(a + "*" + 3 + "=" + (a * 3));
System.out.println(a + "*" + 4 + "=" + (a * 4));
System.out.println(a + "*" + 5 + "=" + (a * 5));
System.out.println(a + "*" + 6 + "=" + (a * 6));
System.out.println(a + "*" + 7 + "=" + (a * 7));
System.out.println(a + "*" + 8 + "=" + (a * 8));
System.out.println(a + "*" + 9 + "=" + (a * 9));
System.out.println();
}
}
}
- for문 이용해서 모든 단을 하나로 묶기
최종 코드
package ex03;
public class Gugudan01 {
public static void main(String[] args) {
for (int a = 2; a < 10; i++) {
System.out.println();
for (int j = 1; j < 10; j++) {
System.out.println(i + "x" + j + "=" + (i * j));
}
}
}
}
변수1 * 변수2 = (변수1 * 변수2)
- 변수 1 = a
변수 2도 1씩 올라가는 패턴을 발견.
- 변수 2를 j로 선언 하고 for문을 사용하여 1씩 증가하는 문법 추가
Share article