[Java] Section7 - 문제 풀이 2

코드 속의 "진돌"·2024년 1월 2일
0
post-thumbnail

✅ 변수 값 교환


🔔 변수 a의 값과 변수 b의 값을 서로 바꾸어라.

  • 변수 a=10이 들어있고, b=20이 들어있다.
  • 다음 코드에서 시작과 종료 부분 사이에 변수의 값을 교환하는 코드를 작성하면 된다.

💡 힌트 : temp 변수를 활용해야 한다.

✏️ 출력 결과

a = 20
b = 10

✏️ 문제 예시

package scanner.ex;

 public class ChangeVarEx {
     public static void main(String[] args) {
         int a = 10;
         int b = 20;
         int temp;

		 //시작: 코드를 작성하세요

		 //종료: 코드를 작성하세요

         System.out.println("a = " + a);
         System.out.println("b = " + b);
     }
}

✏️ 정답

package scanner.ex;

public class ChangeVarEx {

  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int temp;

    temp = a;
    a = b;
    b = temp;

    System.out.println("a = " + a);
    System.out.println("b = " + b);
  }
}

✏️ 풀이

  • ab를 한번에 서로 교환할 수는 없다.
  • a = b라고 하면 a의 값인 10은 사라져 버린다. 따라서 a, b 둘 다 20이 되어버린다.
  • a = b라고 하기 전에 a의 값을 어딘가에 보관해두어야 한다. 여기서는 임시로 사용할 변수인 temp에 보관해두었다.

✓ 진행 과정 - 초기 상태

✓ 진행 과정 1

✓ 진행 과정 2

✓ 진행 과정 3

✅ 사이 숫자


🔔 사용자로부터 두 개의 정수를 입력받고, 이 두 정수 사이의 모든 정수를 출력하는 프로그램을 작성하세요.

  • 사용자에게 첫 번째 숫자를 입력 받으세요. 변수의 이름은 num1이어야 합니다.
  • 사용자에게 두 번째 숫자를 입력 받으세요. 변수의 이름은 num2이어야 합니다.
  • 만약 첫 번째 숫자 num1이 두 번째 숫자 num2보다 크다면, 두 숫자를 교환하세요.
    • 참고 : 교환을 위해 임시 변수 사용을 고려하세요.
  • num1부터 num2까지의 각 숫자를 출력하세요.
  • 출력 결과에 유의하세요. 다음 예시와 같이 2, 3, 4, 5처럼 ,로 구분해서 출력해야 합니다.

✏️ 실행 결과 예시

첫 번째 숫자를 입력하세요 : 2
두 번째 숫자를 입력하세요 : 5
두 숫자 사이의 모든 정수 : 2, 3, 4, 5
첫 번째 숫자를 입력하세요 : 7
두 번째 숫자를 입력하세요 : 5
두 숫자 사이의 모든 정수 : 5, 6, 7

✏️ 정답

package scanner.ex;

import java.util.Scanner;

public class ScannerEx5 {

  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("첫 번째 숫자를 입력하세요 : ");
    int num1 = scanner.nextInt();

    System.out.print("두 번째 숫자를 입력하세요 : ");
    int num2 = scanner.nextInt();

    // num1이 num2보다 큰 경우, 두 숫자를 교환한다.
    if (num1 > num2) {
      int temp = num1;
      num1 = num2;
      num2 = temp;
    }

    System.out.print("두 숫자 사이의 모든 정수 : ");
    for (int i = num1; i <= num2; i++) {
      System.out.print(i);
      if (i != num2) {
        System.out.print(", ");
      }
    }
  }
}
profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글