2017-07-18 92 views
-2

我正在尝试从学校开始创建我自己的对象以及私人数据,方法等。这与用户不是一个完整的工作系统接口;这只是一个创建类的机会,然后实例化并测试它们。设置枚举类型的问题

该项目中的虚构商业迪娜的迪内特谁是销售一种类型的迪内特集。订单由一张桌子,零至十张椅子以及零至两张叶子组成。客户还可以通过订单获得一件免费物品,包括(1)清洁套装,(2)座垫,或(3)用于桌椅的软垫脚垫。您要编写的代码是创建和处理订单以及维护商店库存的系统的开始。

我遇到的一个问题是我试图设置假设为枚举类型的“选项”设置。我认为我可以将enum值设置为私有数据以及orderNumber,chairCount和leafCount值,但是我收到很多“无法找到符号”错误。这是我到目前为止所做的:

public class DinetteOrder 
{ 
    //--------------------------------------------------------------------------- 
    //  STATIC CONSTANTS 
    //--------------------------------------------------------------------------- 



    //--------------------------------------------------------------------------- 
    //  PRIVATE INSTANCE DATA 
    //--------------------------------------------------------------------------- 
    private int orderNumber; 
    private int chairCount; 
    private int leafCount; 
    private enum option {cleanKit, seatCush, padFeet}; 

    //--------------------------------------------------------------------------- 
    //  CONSTRUCTORS 
    //--------------------------------------------------------------------------- 

    public DinetteOrder(){ 
     orderNumber = 0; 
     chairCount = 0; 
     leafCount = 0; 
     option = 0; 
    } 

    public DinetteOrder(int orderNumber, int chairCount, int leafCount, option option){ 
     this.orderNumber = orderNumber; 
     this.chairCount = chairCount; 
     this.leafCount = leafCount; 
     this.option = option; 
    } 

    //--------------------------------------------------------------------------- 
    //  ASSESSORS 
    //--------------------------------------------------------------------------- 

    public int orderNumer(){ 
     return orderNumber; 
    } 

    public int getChairCount(){ 
     return chairCount; 
    } 

    public int getLeafCount(){ 
     return leafCount; 
    } 

    public option getOption(){ 
     return option; 
    } 

    //--------------------------------------------------------------------------- 
    //  MUTATORS 
    //--------------------------------------------------------------------------- 
    public void setChairCount(int chairCount) { 
     this.chairCount = chairCount; 
    } 

    public void setLeafCount(int leafCount) { 
     this.leafCount = leafCount; 
    } 

    public void setOption(Option option) { 
     this.option = Option; 
    } 


    //--------------------------------------------------------------------------- 
    //  OTHER METHODS 
    //--------------------------------------------------------------------------- 
    public double getPrice(int DinetteOrder) { 
     double getPrice = 219.00 + (59.00 * chairCount) + (35.00 * leafCount); 
     return getPrice; 
    } 

    public String toString(){ 
     return "Table Count: 1\n Chair Count: " + chairCount + "\n Leaf Count: " + leafCount + "\n"; 
    } 

} 

任何输入,以我所做的错误将不胜感激。

+0

欢迎来到Stack Overflow!寻求调试帮助的问题(“为什么这个代码不工作?”)必须在问题本身中包含所需的行为,特定的问题或错误以及必要的最短代码**。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –

回答

4

您已经定义了option枚举,但不是option实例变量。

此:

private enum option {cleanKit, seatCush, padFeet}; 

也许应该变成:

public enum Option {cleanKit, seatCush, padFeet}; 
private Option option; 

而且你的构造函数改为:

public DinetteOrder(int orderNumber, int chairCount, int leafCount, Option option) { 
    this.orderNumber = orderNumber; 
    this.chairCount = chairCount; 
    this.leafCount = leafCount; 
    this.option = option; 
} 

注意的枚举资本使用 “O” 的类型和实例变量和构造函数参数名称的小“o”。此外,您的第一个构造函数不能将0指定为option;它将需要是枚举值之一。