자바에서 변수에 동적 이름 할당하기

조회수 11059회

자바에서 여러 개의 변수에 다음과 같이 값을 할당하고 싶어요.

int n1,n2,n3;

for(int i=1;i<4;i++)
{
    n<i> = 5;
}

자바에서 어떻게 할 수 있죠?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    작성하신 코드는 자바에서 작업하신 것 같지 않네요. 자바에는 동적변수가 존재하지 않습니다. 자바에서의 변수는 반드시 소스 코드상에서(*) 선언되어야 합니다.

    질문자님께서 원하는 작업을 처리하려면 List 혹은 Map을 사용하셔야 합니다. 예를 들자면 이렇게요.

    int n[] = new int[3];
    for (int i = 0; i < 3; i++) {
        n[i] = 5;
    }
    
    List<Integer> n = new ArrayList<Integer>();
    for (int i = 1; i < 4; i++) {
        n.add(5);
    }
    
    Map<String, Integer> n = new HashMap<String, Integer>();
    for (int i = 1; i < 4; i++) {
        n.put("n" + i, 5);
    }
    

    *-위 설명이 약간 잘못되었네요. BCEL 이나 ASM을 사용하신다면 bytecode 파일 내에서 변수 선언이 가능합니다. 그러나 좋지 않은 방법이니 사용하지 마십쇼.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)