2016-11-06 171 views
0

此代碼實際上工作正常,我的代碼中存在的問題是如何將枚舉常量存儲在任何變量中,以及爲什麼要使用枚舉?這個陳述意味着什麼HouseType houseType;?提前謝謝你。將enum常量存儲在變量中

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代表夜晚。但其他數字的含義是什麼?或者你可以使用布爾值表示(同樣,falsetrue)。

enum TimePeriod{ 
    DAY, 
    NIGHT 
} 

枚舉,讓你要明確什麼值的含義代表了一個更好的選擇。這不僅僅是一種方便 - 在你的意圖中明確表示你的程序可以讓其他人閱讀。

+0

非常感謝Andrew Butenko –