尝试遍历构造函数中的Object数组

时间:2018-09-20 23:24:06

标签: object iteration

我正在尝试遍历此对象数组,但是当我尝试在构造函数中进行for循环时,总是得到“;预期”。

公共类EletronicStore {

public EletronicStore() {
        Object[] obj = new Object[9];

        Desktop d1 = new Desktop(3.5, 8, 500, false);
        Desktop d2 = new Desktop(3, 16, 250, true);
        Desktop d3 = new Desktop(4.3, 32, 500, true);
        Laptop l1 = new Laptop(3.1, 32, 500, true, 15);
        Laptop l2 = new Laptop(2.5, 8, 250, false, 13);
        Laptop l3 = new Laptop(3.0, 16, 250, true, 15);
        Fridge f1 = new Fridge(15.6, true, "Gray");
        Fridge f2 = new Fridge(10.5, false, "White");
        Fridge f3 = new Fridge(23, true, "Stainless Steel");

        obj[0] = d1.toString();
        obj[1] = d2.toString();
        obj[2] = d3.toString();
        obj[3] = l1.LaptoString();
        obj[4] = l2.LaptoString();
        obj[5] = l3.LaptoString();
        obj[6] = f1.FridgetoString();
        obj[7] = f2.FridgetoString();
        obj[8] = f3.FridgetoString();

        public void printStock(){
            for (int i = 0; i < 9; i++){  \\ here it says ; expected
                System.out.println(obj[i]);
            }
    }

}

}

1 个答案:

答案 0 :(得分:2)

这里的问题不在于for循环,而是您在构造函数中定义了一个新函数

如果删除“ public void printStock(){”及其右括号,并保持for循环不变,它应该会按预期工作。

如果需要printStock函数,则必须在构造函数之外定义它,但不能访问在构造函数的本地范围内定义的对象数组。