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