2014-10-11 115 views
-2

我必须编写一个类的程序来学习类,字段,方法和枚举。 我大部分都失去了知识,班上学习这些东西感到匆忙,在课堂上只给了几个例子,无关,没有作业。我相信我有的构造函数中,也许有字符串toString位右。下面是完整的指示和我的代码。如果可能的话,我宁愿不只是给出完整的答案,我想尝试通过它并从中吸取教训。Java枚举,方法和类的问题

我现在具体的问题是:

  1. 如何结合下面的addTopping位到代码?
  2. 它去哪儿了,哪些部件需要更换?
  3. 我有一切的价格,我在哪里放?

一些开始的起点将不胜感激。

哦,我用公开的一切,因为虽然在课堂上提到私人,但从来没有真正被告知是否有一个特定的协议,以便在什么时候使用。

方向它是:

你的下一个任务,你要创建一个类来表示比萨饼,然后写一个主程序来锻炼你的班级。比萨饼具有以下特性:

  • 大小:小,中,大。

  • 以下列表中的一些浇头(从0到3):意大利辣香肠,香肠,肉丸,青椒,洋葱,黑橄榄和蘑菇。

  • 价格。

您将需要一个字段的比萨大小和每个可能的打顶领域(所以四个额外的领域)。价格不应该存储在一个字段中,而应该使用其他字段的值进行计算。披萨类将需要额外的字段来存储匹萨上的配料数量。

你的比萨类应该有以下几种方法:

  • 无效addTopping(摘心摘心)//添加一个摘心。如果披萨已经有四种配料,这是一个错误。

  • int getPrice()//计算并返回披萨和浇头的价格。

  • String toString()//返回描述披萨的字符串。

此外,该类应该具有构造使零一流的比萨饼,一比萨饼馅料,两一流的比萨饼,和三平顶比萨(四个构造函数在所有)。 除了这个类以外,你还应该编写一个测试程序(你可以使用比萨类的主要方法来测试)来测试你的所有方法。
此外,程序应该以有意义的方式使用枚举。

到目前为止我的代码是:

enum Size {SMALL, MEDIUM, LARGE}; 

public class Pizza { 
    public String size; 
    public String topping1; 
    public String topping2; 
    public String topping3; 


    public String toString() { 
    return (size + " " + topping1 + " " + topping2 + " " + topping3); 
} 

    public Pizza(String a, String b, String c, String d) { 
    size = a; 
    topping1 = b; 
    topping2 = c; 
    topping3 = d; 
} 

    public Pizza(String a, String b, String c) { 
    this (a, b, c, null); 
} 

    public Pizza(String a, String b) { 
    this (a, b, null); 
} 
    public Pizza(String a) { 
    this (a, null); 
} 


    public static void main(String[] args) { 

    } 
} 
+0

_I必须为class_写一个程序...然后执行。如果您需要帮助,请回复一个特定的问题 – msrd0 2014-10-11 18:48:31

+0

请不要掩盖您的问题 - 让人们很容易弄清楚您问的是什么。 – 2014-10-11 18:49:27

+2

一些友好的建议,假设这是一个大学课堂:如果你感到迷失,利用你的教授或TA的办公时间或任何其他资源你的部门提供。帮助你解决这个问题是他们的工作:)如你所描述的[这里](http://stackoverflow.com/help/how-to-ask),你会有更好的运气和更具体的问题。 – Ben 2014-10-11 18:51:49

回答

0

如何结合下面的addTopping位到代码? 哪里去了,哪些部分需要改变?

它应该进入比萨类。恐怕这不是更详细的手持场所。

1

我相信你会为3种可能的浇头制作一个枚举,然后把它们当作一个枚举而不是字符串。通过这种方式将“iilegal”值赋予给您的构造函数(例如,“asdasd”作为您显然不想获得的顶点)。

你应该寻找了枚举和了解它,如果你有当我在谈论,但总体上非常基本的语法是不知道:

enum E { 
    A, B, C 
} 

然后我就可以使用它作为一个类型(只像int,String等)。例如:

public void foo(E e) { 
    //do something 
} 

和该函数将只得到式E的变量作为参数,其可以是,我们已经定义的任一A,B或C。

你得到了实现接口所需的方法(这意味着它们的名称,参数和返回值类型)。使用这些作为你的代码结构并根据它实现代码。

而在一个侧面节点上,公开类数据成员是非常糟糕的做法是大多数情况。总之,除非你100%确定自己在做什么,否则它们是私密的。然后私人防止对您的实例变量进行不必要和不受监控的更改