프로그램을 만들 때 가장 먼저 생각할 것: 입력과 출력
어떤 값이 입력값으로 주어지고, 어떻게 출력되어야 할 지를 가장 먼저 생각하라
구구단 프로그램 만들기
구구단 프로그램 중 2단을 만든다면 2를 입력값으로 주었을 때 어떻게 출력되어야 할지 생각
메서드 이름 ? gugudan
입력값 ? 2
출력값? 2단(2, 4, 6, 8, 10 ..., 18)
결과값 자료형? 배열
(1) gugudan 메서드에 2를 입력값으로 주면 result라는 변수에 결괏값을 넣는 코드 입력해보기
public class Gugudan {
public static void main(String[] args) {
result = gugudan(2);
}
}
(2) 결괏값을 어떤 형태로 받을 것인가?
정수형 배열이 적합하다고 판단, int[] result = {2, 4, 6 ...., 18}과 같은 결과를 얻을 것이라고 생각하고 프로그래밍 시작
(3) 본격적인 프로그램 작성 시작 > gugudan 메서드 만들기
public class Gugudan {
static int[] gugudan(int dan) {
System.out.println(dan);
return null;
}
public static void main(String[] args) {
result = gugudan(2);
}
}
>> 출력 : 2
(4) 결과값을 담을 정수 배열 생성
public class Gugudan {
static int[] gugudan(int dan) {
int[] result = new int[9]; → 총 9단이므로 [9]배열 생성
return result; → 정수형 배열 리턴
}
public static void main(String[] args) {
result = gugudan(2); }
}
(5) result에 해당 구구단 값을 어떻게 넣어야 할 지 생각해보자. > for문 사용하기
public class Gugudan {
static int[] gugudan(int dan) {
int result[] = new int[9];
for(int i=0; i<result.length; i++) {
result[i] = dan * (i+1);
}
return result;
}
public static void main(String[] args) {
int[] result = gugudan(2);
for (int a:result) {
System.out.println(a);
}
}
}
>> 출력 :
2
4
6
...
18
(6) 입력받을 수 있도록 Scanner 구문 추가
>> 최종본
import java.util.Scanner;
public class Gugudan {
static int[] gugudan(int dan) {
int result[] = new int[9];
for(int i=0; i<result.length; i++) {
result[i] = dan * (i+1);
}
return result;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("구구단 몇단 출력할까요? : ");
int[] result = gugudan(sc.nextInt());
for (int a:result) {
System.out.println(a);
}
}
}