2014-10-11 101 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%確定自己在做什麼,否則它們是私密的。然後私人防止對您的實例變量進行不必要和不受監控的更改