我正在编写一个比萨订单程序,该程序接受比萨订单。
这是我的披萨程序的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;
}
注意:传递
setType
和int
毫无意义,这完全违背了使用enum
的目的。