2016-11-06 211 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 –