我正在编写一个比萨订单程序,该程序接受比萨订单。
这是我的披萨程序的Crust课程。有人告诉我们使用枚举,但是我已经尝试过
这个,但是我不认为这样有效。

Crust.java:19: error: incompatible types return crust; ^ required: Crust found: CrustTypeCrust.java:27: error: cannot find symbol crust = CrustType.type; ^ symbol: variable type location: class CrustType2 errors

public class Crust
{
    private enum CrustType {thin,hand,pan};
    //check crust type??
    private char size;`
    `//enum (crustType)`

    private CrustType crust;
    public Crust()
    {
    size = 'S';
        crust = CrustType.thin;
    }
    public char getSize()
    {
    return size;
    }
    //instead of enum
    public Crust getType()
    {
        return crust;
    }
    public void setSiz(char size)
    {
        this.size = size;
    }
    //This class sets the crust (enum) type what the user wants I'm not sure
    //I'm not sure what type of should I pass to this method?
    public void setType(int type)
    {
        CrustType = type;
    }
}

最佳答案

几个问题。首先,如果要在类外使用CrustType,则需要将其公开:

public enum CrustType {thin,hand,pan};


接下来,getType应该返回一个CrustType

public CrustType getType()
{
    return crust;
}


最后,setType应该使用CrustType并将其设置为crust

public void setType(CrustType type)
{
    crust = type;
}


注意:传递setTypeint毫无意义,这完全违背了使用enum的目的。

07-28 04:40