Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java为数组/对象赋值_Java_Arrays_Object - Fatal编程技术网

Java为数组/对象赋值

Java为数组/对象赋值,java,arrays,object,Java,Arrays,Object,由于大学的原因,我正在从Javascript转换为Java,似乎无法理解数组/对象分配的逻辑。 我试图实现的是,在Pascal记录中使用不同的变量。然后调用main类并创建几个实例。这是我的简单结构,例如: class shoppingCart { public static void main(String[] args){ // Define objects Product[] products = new Product[3];

由于大学的原因,我正在从Javascript转换为Java,似乎无法理解数组/对象分配的逻辑。 我试图实现的是,在Pascal记录中使用不同的变量。然后调用main类并创建几个实例。这是我的简单结构,例如:

class shoppingCart {
    public static void main(String[] args){
        // Define objects
        Product[] products = new Product[3];        

        // Fill in products
        products[0] = {
            title: "Product 1",
            code: "AB432",
            price: 13.60,
            quantity: "dozen"
        }                    
    }
}

class Product {
    public String title;
    public String code;
    public float price;
    public String quantity;
}
有人能告诉我如何创建记录以及如何为记录赋值的正确方法吗?我以前在Java中声明变量数组时遇到过同样的问题,后来又尝试了

someArray = {23,2,32,523}

编译器给了我一个错误

您需要创建一个对象。。。理想情况下不使用公共字段。例如,如果您为产品类指定了一个采用四个值的构造函数,则可以使用:

Product[] products = 
{
    new Product("Product 1", "AB432", 13.6, "dozen"),
    new Procuct( /* etc */ )
};
还要注意的是,您不应该使用float来存储价格。使用BigDecimal,或者整数分/分/任何值。

首先向产品类添加构造函数

然后将产品实例添加到阵列中


约定是Java是所谓的Beans en.wikipedia.org/wiki/JavaBeans,它具有私有成员变量和getter和setter方法。你可以初始化它,比如

Product product = new Product();
product.setTitle("Product 1");
product.setCode("AB432");
product.setPrice(13.60);
product.setQuantity("dozen");
products[0] = product;
另外,您只能在首次声明数组时初始化这样的数组

int[] someArray = {23,2,32,523};

如果你想提供一个例子,你会学到很多东西。我想让你知道答案,但我没有想过要这样做。又好又干净。但是我真的不明白为什么这个问题有两张反对票…@汤姆:虽然两张反对票都不是我的,而且编译器给我的错误从来都不是一个好迹象。任何时候当你收到错误信息时,你都应该把它包括在问题中。
Product product = new Product();
product.setTitle("Product 1");
product.setCode("AB432");
product.setPrice(13.60);
product.setQuantity("dozen");
products[0] = product;
int[] someArray = {23,2,32,523};