Java로 구구단 구현하기

Jane·2020년 12월 2일
5
post-thumbnail

이 글은 만들어 가면서 배우는 JAVA 플레이그라운드를 수강하고 공부한 내용을 정리하는 용도로 작성되었습니다.

Step 1

구구단을 구현하라고 해서 일단 요구사항을 보지 않고 기본적인 구구단을 출력하는 프로그램을 작성해보았다.

public class Gugudan {
	public static void main(String[] args) {
		for (int i = 1; i < 10; i++) {
			for (int j = 1; j < 10; j++) {
				System.out.println(i + "단:" + i + "x" + j + "=" + i*j);
			}
		}
	}
}

Step 2

사용자의 입력을 받아 입력한 단만 출력하도록 프로그램을 작성해 보았다.

import java.util.Scanner;

public class Gugudan {
	public static void main(String[] args) {
		System.out.println("구구단 중 출력할 단은? : ");
		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();

		for (int j = 1; j < 10; j++) {
			System.out.println(i + "단:" + i + "x" + j + "=" + i * j);
		}
	}
}

Step 3

사용자가 유효하지 않은 입력을 한 경우 다시 입력하도록 구현해보았다.

import java.util.Scanner;

public class Gugudan {
	public static void main(String[] args) {
		System.out.println("구구단 중 출력할 단은? : ");
		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();
		System.out.println("사용자가 입력한 값: " + i);
		if (i <2 || i>9) {
			System.out.println("2이상, 9이하의 값만 입력할 수 있습니다.");
			System.out.println("구구단 중 출력할 단은? : ");
			i = sc.nextInt();
		}
		for (int j = 1; j < 10; j++) {
			System.out.println(i + "단:" + i + "x" + j + "=" + i * j);
		}
	}
}

Step 4

배열에 구구단 데이터를 저장해서 출력해 보았다.

import java.util.Arrays;

public class GugudanArray {

	public static void main(String[] args) {
		int[] result = new int[9];
		for (int i=1; i<=result.length; i++) {
			for (int j=1; j<=result.length; j++) {
				result[j-1] = i*j;
			}
			System.out.println(i + "단: " + Arrays.toString(result));
		}	
	}
}

Step 5

코드가 간단해서 메서드나 클래스를 만들지 않아도 되지만 메서드나 클래스를 사용하고 싶다면 아래와 같이 구현할 수 있다.

public class GugudanArray {

	public static int[] calculate(int num) {
		int[] result = new int[9];
		for (int j = 1; j <= result.length; j++) {
			result[j - 1] = num * j;
		}
		return result;
	}

}
import java.util.Arrays;

public class GugudanMain {
	public static void main(String[] args) {

		for (int i = 1; i < 10; i++) {
			int[] answer = GugudanArray.calculate(i);
			System.out.println(i + "단: " + Arrays.toString(answer));
		}
	}

}

Step 6

사용자의 입력에 따라 n*m 단을 출력하는 프로그램을 작성하였다.

import java.util.Scanner;

public class GugudanFinal {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String[] data = sc.nextLine().split(" ");
		int n = Integer.parseInt(data[0]);
		int m = Integer.parseInt(data[1]);
		
		for (int j = 1; j <= m; j++) {
			System.out.println(n + "단: " + n + "x" + j + "=" + n * j);
		}
		sc.close();
	}
}

2개의 댓글

comment-user-thumbnail
2020년 12월 15일

Hello, I enjoy reading all of your article. I like to write a little comment to support you.JOKER123

1개의 답글