2011-08-24 116 views
0

我創建2個源代碼文件,Shirt.javaShirtTestArray.java使用數組創建的對象,無法調用它的方法!爲什麼?

我現在面臨的問題是,每當我嘗試訪問displayShirtInformation()方法,我不能做到這一點..並得到一個錯誤類,接口,或枚舉預期

雙源文件below--

Shirt.java--

給出
public class Shirt { 

    public int shirtID = 0; // Default ID for the shirt 
    public String description = "-description required-"; // default 

    // The color codes are R=Red, B=Blue, G=Green, U=Unset 
    public char colorCode = 'U'; 
    public double price = 0.0; // Default price for all shirts 
    public int quantityInStock = 0; // Default quantity for all shirts 

    public Shirt() { 
    } 

    public Shirt(int ID, String d, char c, double p, int q) { 
    shirtID = ID; 
    description = d; 
    colorCode = c; 
    price = p; 
    quantityInStock = q; 
    } 

    // This method displays the values for an item 
    public void displayShirtInformation() { 

    System.out.println("Shirt ID: " + shirtID); 
    System.out.println("Shirt description:" + description); 
    System.out.println("Color Code: " + colorCode); 
    System.out.println("Shirt price: " + price); 
    System.out.println("Quantity in stock: " + quantityInStock); 

    } // end of display method 
} // end of class 

ShirtTestArray.java -

public void ShirtTestArray{ 
    public static void main(String [] args) { 
    Shirt [] shirtArray={new Shirt (1,"blue",'b',76.67,4),new Shirt(2,"green",'g',98.79,1), 
    new Shirt(3,"green",'g',34.78,90)}; 

    shirtArray[0].displayShirtInformation(); 
    shirtArray[1].displayShirtInformation(); 
    shirtArray[2].displayShirtInformation(); 

    } 
} 
+0

爲了以後的OO最佳實踐,請將您的成員變量設置爲私有的 - 或者考慮一個不可變的對象。您可能還希望將'color'char'更改爲'enum',以防止數據輸入錯誤(您的_own_代碼可能成爲受害者)的情況很重要?)。 –

回答

9

第二類應該聲明爲類,而不是無效:

public class ShirtTestArray{ 
    ^
    public static void main(String [] args){ 
    Shirt [] shirtArray={new Shirt 

(1,"blue",'b',76.67,4),new Shirt(2,"green",'g',98.79,1), 
    new Shirt(3,"green",'g',34.78,90)}; 



     shirtArray[0].displayShirtInformation(); 
     shirtArray[1].displayShirtInformation(); 
     shirtArray[2].displayShirtInformation(); 

    } 

} 
+0

很好的捕獲,沒有看到那一個。 –

+0

oooops .... :)我的壞! –

0

你給ShirtTestArray回報的定義,說它應該是一種方法,當它應該是一個階級。

用'class'替換'void',你應該滾動。

0

語法錯誤是public void ShirtTestArray{而不是public class ShirtTestArray{。 Cheers :)

相關問題