코테/코드트리

[코드트리/NOVICE MID] Swap 함수

imname1am 2022. 8. 2. 23:35
반응형

입력 형식

첫 번째 줄에 정수 n과 m이 공백을 사이에 두고 주어집니다.

  • 1 ≤ n, m ≤ 100

출력 형식

첫 번째 줄에 주어진 두 정수의 값을 교환하여 출력합니다.

입출력 예제

예제1

입력:

13 8
 

출력:

8 13

정답

import java.util.*;

class IntWrapper {
    int value;

    public IntWrapper(int value) {
        this.value = value;
    }
}

public class Main {
    public static void swap(IntWrapper n, IntWrapper m) {
        int tmp = n.value;
        n.value = m.value;
        m.value = tmp;
    }


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();

        IntWrapper n = new IntWrapper(a);
        IntWrapper m = new IntWrapper(b);

        swap(n, m);

        System.out.println(n.value + " " + m.value);
    }
}

 

💥 유의사항

Call by Value : 값을 복사해서 넘기기

primitive 타입 변수
(int, char, double)
변수와 그 변수에 들어있는 값이 모두 Stack에 저장됨
reference 타입 변수
(String, Integer, Array)
객체(값)이 Heap 영역에 저장되고,
Stack 영역에 있는 변수가 객체 주소값 가짐

 

반응형