반응형
2단을 출력하는 프로그램을 만들어달라는 요청을 받았을 때
가장 기초적으로 이렇게 작성을 할 수 있다.
package ex06;
public class GugudanEx01 {
public static void main(String[] args) {
// 2단 출력하는 프로그램을 만들어주세요.
System.out.println("2 * 1 = 2");
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");
// 3단 추가 좀 해주실 수 있어요?
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");
} // 메인 끝
}
이런 코드는 노가다 코드이다.
한 번에 같이 수정하는 방법 :
alt를 누르고 마우스 커서를 찍어주면
선택된 부분 동시에 수정 가능
package ex06;
public class GugudanEx01 {
public static void main(String[] args) {
int step;
// 2단 출력하는 프로그램을 만들어주세요.
step = 2;
System.out.println(step + " * 1 = " + (step * 1));
System.out.println(step + " * 2 = " + (step * 2));
System.out.println(step + " * 3 = " + (step * 3));
System.out.println(step + " * 4 = " + (step * 4));
System.out.println(step + " * 5 = " + (step * 5));
System.out.println(step + " * 6 = " + (step * 6));
System.out.println(step + " * 7 = " + (step * 7));
System.out.println(step + " * 8 = " + (step * 8));
System.out.println(step + " * 9 = " + (step * 9));
// 3단 추가 좀 해주실 수 있어요?
step = 3;
System.out.println(step + " * 1 = " + (step * 1));
System.out.println(step + " * 2 = " + (step * 2));
System.out.println(step + " * 3 = " + (step * 3));
System.out.println(step + " * 4 = " + (step * 4));
System.out.println(step + " * 5 = " + (step * 5));
System.out.println(step + " * 6 = " + (step * 6));
System.out.println(step + " * 7 = " + (step * 7));
System.out.println(step + " * 8 = " + (step * 8));
System.out.println(step + " * 9 = " + (step * 9));
} // 메인 끝
}
원하는 단수를 step이라는 변수를 만들어
일정한 패턴으로 만들어주었다.
일정한 패턴에서 바뀌는 것은 step 하나밖에 없는데
2단부터 9단까지 step만 돌려서 해서 반복할 수 있을 것 같다.
package ex06;
public class GugudanEx02 {
public static void main(String[] args) {
int step;
// 2단 출력하는 프로그램을 만들어주세요.
for (step = 2; step <= 9; step++) {
System.out.println(step + " * 1 = " + (step * 1));
System.out.println(step + " * 2 = " + (step * 2));
System.out.println(step + " * 3 = " + (step * 3));
System.out.println(step + " * 4 = " + (step * 4));
System.out.println(step + " * 5 = " + (step * 5));
System.out.println(step + " * 6 = " + (step * 6));
System.out.println(step + " * 7 = " + (step * 7));
System.out.println(step + " * 8 = " + (step * 8));
System.out.println(step + " * 9 = " + (step * 9));
System.out.println("---------------------------");
}
}
}
이렇게만 만들어도 가독성도 좋고
원하는 단수까지 반복만 하면 결과를 얻을 수 있을 것이다.
그런데 여기서 또 한 번 일정한 패턴이 보일 것이다.
1부터 9까지 곱해주는 숫자도 일정하게 1씩 커지고 있다.
이중 for문을 이용하여 코드를 더 간결하게 만들어보자.
package ex06;
public class GugudanEx03 {
public static void main(String[] args) {
int step;
// 구구단을 출력하는 프로그램을 만들어주세요.
for (step = 2; step <= 9; step++) {
for (int i = 1; i <= 9; i++) {
System.out.println(step + " * " + i + " = " + (step * i));
}
System.out.println("---------------------------");
}
}
}
실행시켜보면 2단부터 9단까지 예쁘게 구구단이 출력되는 것을 확인할 수 있다.
2개의 값을 입력받아서 원하는 범위의 구구단 출력도 가능하다.
package ex06;
import java.util.Scanner;
public class GugudanTest {
public static void main(String[] args) {
int num1 = 0;
int num2 = 0;
System.out.println("출력할 구구단의 범위를 입력하시오.");
Scanner sc = new Scanner(System.in);
num1 = sc.nextInt();
num2 = sc.nextInt();
for (int step = num1; step <= num2; step++) {
for (int n = 1; n < 10; n++) {
System.out.println(step + " * " + n + " = " + step * n);
}
System.out.println("");
}
}
}
[출처]
https://cafe.naver.com/metacoding
메타 코딩 유튜브
https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9
반응형