2016-11-06 3 views
0

이 코드는 실제로 잘 작동합니다. 내 코드에서 가지고있는 질문은 어떻게 열거 형 상수를 모든 변수에 저장합니까? 열거 형을 사용하는 이유는 무엇입니까? 그 진술은 무엇을 의미합니까 HouseType houseType;? 미리 감사드립니다.변수에 열거 형 상수를 저장하십시오.

import java.util.Scanner; 

public class HomeBuying { 
    public enum HouseType{UNKNOWN,SINGLEFAMILY,TOWNHOUSE,CONDOMINIUM}; 
    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     System.out.println("Enter the type of house you want to purchase"); //1.Single Family/n" " 2. Townhouse/n" " 3. Condominium/n"); 
     int choice = input.nextInt(); 
     HouseType houseType; 
     switch(choice) { 
      case 1: 
      houseType = HouseType.SINGLEFAMILY; 
      break; 
      case 2: 
      houseType = HouseType.TOWNHOUSE; 
      break; 
      case 3: 
      houseType = HouseType.CONDOMINIUM; 
      break; 
      default: 
      houseType = HouseType.UNKNOWN; 
      break; 
    } 
    System.out.println(houseType); 
} 

답변

0

제공 한 코드 조각은 이미 변수에 Enum 값을 저장합니다. 우리는 몇 가지 알려진 유한 집합의 값을 표현해야 할 때마다

HouseType houseType; //declaration of variable of type HouseType (means it can store values of the HouseType enum) 
houseType = HouseType.UNKNOWN; //put value into the houseType variable 

우리는 열거 형을 사용합니다. 예를 들어, 프로그램이 낮인지 밤인지를 추적하고 싶다면, 스스로 규칙을 만들고 정수를 사용할 수 있습니다. 예를 들어, 1은 날을 나타내고 0은 밤을 나타냅니다. 그런데 다른 숫자가 의미하는 것은 무엇입니까? 아니면 그냥 부울을 사용할 수도 있습니다 (다시 말하자면, 어떤 의미가 false).

enum TimePeriod{ 
    DAY, 
    NIGHT 
} 

열거 형은 값이 무엇을 의미하는지에 대해 명시 할 수 있도록함으로써 더 나은 대안을 나타냅니다. 이것은 단지 편의성이 아닙니다. 프로그램을 다른 사람들이 읽을 수있게 만드는 것이 당신의 의도에 명백하게 드러나는 것입니다.

+0

고맙습니다. Andrew Butenko –