2011-08-24 117 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 :)

相关问题