임의의 두 수를 입력받아 작은 수에서 큰 수 까지의 구구단 출력

[문제] 임의의 두 수를 입력 받아 작은 수에서 큰 수 까지의 구구단을 구해서 출력하시오.

출력 방식

첫 번째 숫자 입력 ⇒ 5
두 번째 숫자 입력 ⇒ 3
***3단***      ***4단***      ***5단***
3 * 1 = 3      4 * 1 = 4      5 * 1 = 5
3 * 2 = 6      4 * 2 = 8      5 * 2 = 10

내가 쓴 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;

public class Test1 {

 public static void main(String[] args) {
  Scanner n = new Scanner(System.in);
  int num1, num2, num;
  
  System.out.println("첫번째 숫자 입력 => ");
  num1 = n.nextInt();
  System.out.println("두번째 숫자 입력 => ");
  num2 = n.nextInt();
  System.out.println();
  
  if(num1 > num2) 
  {
   num = num1;
   num1 = num2;
   num2 = num;
  }
  
  for(int i = num1; i <= num2; i++) 
  {
   System.out.print("*** " + i + "단 ***   ");
  } System.out.println();
  
  
  for(int i = 1; i < 10; i++) 
  {
   for(int j = num1; j <= num2; j ++)
   {
    System.out.printf("%d * %d =  %2d   ", j, i, i*j);
   } System.out.println();
  }
  
 }
}

다른 답안 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.Scanner;

public class Test1 {

 public static void main(String[] args) {
  Scanner n = new Scanner(System.in);
  int num1, num2, num;
  
  System.out.println("첫번째 숫자 입력 => ");
  num1 = n.nextInt();
  System.out.println("두번째 숫자 입력 => ");
  num2 = n.nextInt();
  System.out.println();
  
  if(num1 < num2) {
   min = num1;
   max = num2;
  } else {
   min = num2;
   max = num1;
  }
  
  for(int i = num1; i <= num2; i++) 
  {
   System.out.print("*** " + i + "단 ***   ");
  } System.out.println();
  
  
  for(int i = 1; i < 10; i++) 
  {
   for(int j = num1; j <= num2; j ++)
   {
    System.out.printf("%d * %d =  %2d   ", j, i, i*j);
   } System.out.println();
  }
  
 }
}

작성한 코드를 정적 메서드로 재구성하기

내가 쓴 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.Scanner;

public class MethodGugudan {

 public static void main(String[] args) {
  Scanner in = new Scanner(System.in);
  int num1, num2;
  
  System.out.println("첫번째 숫자 입력 => ");
  num1 = in.nextInt();
  System.out.println("두번째 숫자 입력 => ");
  num2 = in.nextInt();
  System.out.println();
  
  gugu(num1, num2);
 }
 
 public static void gugu(int num1, int num2) {
  int min, max;
  
  if(num1 < num2) {
   min = num1;
   max = num2;
  } else {
   min = num2;
   max = num1;
  }
  
  for(int i = min; i <= max; i++) 
  {
   System.out.print("*** "+ i + "단 *** ");
  } 
  System.out.println();
  
  for (int i = 1; i <= 9; i++) 
  {
   for (int j = min; j <= max; j++) 
   {
    System.out.printf("%d * %d = %2d   ", j, i, j*i);
   }
   System.out.println();
  }
  
 }
}

다른 답안 코드 (1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import java.util.Scanner;

public class Gugudan2 {

 public static void main(String[] args) {
  int min, max;
  
  int res[] = input_num();
  
  min = res[0];
  max = res[1];
  
  
  for(int i = min; i <= max; i++) 
  {
   System.out.print("*** "+ i + "단 ***  ");
  } 
  System.out.println();
  
  for (int i = 1; i <= 9; i++) 
  {
   for (int j = min; j <= max; j++) 
   {
    System.out.printf("%d * %d = %2d   ", j, i, j*i);
   }
   System.out.println();
  }
 }

 static int[] input_num() {
  Scanner in = new Scanner(System.in);
  int num1, num2;
  int val[] = new int[2]; // 작은 수와 큰 수를 저장할 배열
  
  System.out.println("첫번째 숫자 입력 => ");
  num1 = in.nextInt();
  System.out.println("두번째 숫자 입력 => ");
  num2 = in.nextInt();
  System.out.println();
  
  if(num1 < num2) {
   val[0] = num1;
   val[1] = num2;
  } else {
   val[0] = num2;
   val[1] = num1;
  }
  return val;
 }

}

다른 답안 코드 (2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.Scanner;

public class Gugudan2 {

 public static void main(String[] args) {
  
  int res[] = input_num(); //객체가 저장된 주소를 전달받음, 그 주소의 값을 출력
  
  for(int i = res[0]; i <= res[1]; i++) 
  {
    System.out.print("*** "+ i + "단 ***  ");
  } 
  System.out.println();
  
  for (int i = 1; i <= 9; i++) 
  {
    for (int j = res[0]; j <= res[1]; j++) 
    {
        System.out.printf("%d * %d = %2d   ", j, i, j*i);
    }
    System.out.println();
  }
 }

 static int[] input_num() {
  Scanner in = new Scanner(System.in);
  int num1, num2;
  int val[] = new int[2]; // 작은 수와 큰 수를 저장할 배열
  
  System.out.println("첫번째 숫자 입력 => ");
  num1 = in.nextInt();
  System.out.println("두번째 숫자 입력 => ");
  num2 = in.nextInt();
  System.out.println();
  
  if(num1 < num2) {
   val[0] = num1;
   val[1] = num2;
  } else {
   val[0] = num2;
   val[1] = num1;
  }
  return val;

 }
}

🌞 정보 : 공부 기록용 블로그입니다. 오타나 내용 오류가 있을 경우 알려주시면 감사하겠습니다.

태그:

카테고리:

업데이트:

댓글남기기