Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java I';我在写比萨饼订单程序和我';我应该在我的地壳课上使用枚举?_Java_Enums - Fatal编程技术网

Java I';我在写比萨饼订单程序和我';我应该在我的地壳课上使用枚举?

Java I';我在写比萨饼订单程序和我';我应该在我的地壳课上使用枚举?,java,enums,Java,Enums,我正在写一个比萨饼订单程序,它接受比萨饼订单。 这是我披萨计划的地壳课程。我们被告知使用enum,但我已尝试 这个,但我不这么认为 java:19:错误:不兼容的类型 返回地壳; ^ 所需:外壳 发现:结壳型 java:27:错误:找不到符号 外壳=外壳类型。类型; ^ 符号:变量类型 地点:类别类别 2个错误 没有什么问题。首先,如果要在类外使用CrustType,需要将其公开: public enum CrustType {thin,hand,pan}; 接下来,getType应该返回一

我正在写一个比萨饼订单程序,它接受比萨饼订单。 这是我披萨计划的地壳课程。我们被告知使用enum,但我已尝试
这个,但我不这么认为

java:19:错误:不兼容的类型 返回地壳; ^ 所需:外壳 发现:结壳型 java:27:错误:找不到符号 外壳=外壳类型。类型; ^ 符号:变量类型 地点:类别类别 2个错误


没有什么问题。首先,如果要在类外使用
CrustType
,需要将其公开:

public enum CrustType {thin,hand,pan};
接下来,
getType
应该返回一个
type

public CrustType getType()
{
    return crust;
}
最后,
setType
应采用
crastType
并将其设置为
crast

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

注意:传递
setType
一个
int
没有任何意义,这完全违背了使用
enum

的目的。您的代码中似乎有两个问题:

  • getType()
    返回类型应为
    getType

  • setType()
    方法应该使用实例变量
    castle
    来分配类型,但是您传递了
    int
    参数,我不理解您的意图


  • 很好,迈克,我真的很感激。如果可以,请解释一下使用enum的目的是什么?什么是枚举?您基本上定义了一种新的数据类型(可以表示一种类型的外壳)。使用
    int
    ,您的值可以是任何值;5,8,10亿。使用
    枚举
    ,可以保证它必须是有效的外壳类型,因此不需要检查它并处理这些错误。而且,它使你的代码更漂亮,更容易理解它在做什么。谢谢迈克。。。知道了
    public void setType(CrustType type)
    {
        crust = type;
    }