我举一个例子来解释我需要什么,想象一下兰博基尼数据库:
CarSeries (int identifier, String name)
CarModel (int modelIdentifier, String modelName, CarSeries (int identifier, String name);
现在我要创建一个数组,我应该能够直接创建carModel
,例如carModel (123, Gallardo, 345, Superleggera)
所以我为三辆车创建阵列:
CarModel carmodels[] = new CarModel[3];
必须初始化它们。为CarSeries初始化类似的数组0位置就像
一样简单 carseries[0] = new CarSeries(0,"");
但我无法找到初始化CarModel的方法,也无法使用getter和setter来设置carModel carSeries的标识符。
更新:基于RAZ_Muh_Taz的代码(非常有帮助,谢谢!)我已经能够初始化它!这样:carmodels [0] =新的CarModel(0,"",新的CarSeries(0,""));现在我想设置一个控制台输出,询问CarSeries标识符,代码应该如何请求输入?我现在该如何使用吸气剂?
Update2:最后刚刚为每个Person创建了一个新数组,只需同时更新两个数组,并指向所需的数据组。
答案 0 :(得分:1)
您的第三个参数是CarSeries
,因此请将其传入。
CarSeries accord = new CarSeries (0, "accord");
CarModel honda = new CarModel(0, "honda", accord);
或直播。
CarModel honda = new CarModel(0, "Honda", new CarSeries (0, "Accord"));
不管是否在数组中都不是问题,但我认为理想情况下应该为每个模型存储一些系列集合,而不仅仅是一个。
答案 1 :(得分:1)
您需要在将其传递给CarModel构造函数中的参数时创建新对象。
CarModel carmodels[] = new CarModel[3];
carseries[0] = CarModel (0, "Lexus", new CarSeries (0, "RX350"));
carseries[1] = CarModel (1, "Toyota", new CarSeries (1, "Tacoma"));
carseries[2] = CarModel (2, "Honda", new CarSeries (2, "CR-V"));
答案 2 :(得分:1)
如果您为CarModel和CarSeries定义了适当的构造函数,则可以通过以下方式执行此操作。
CarModel carmodels[] = new CarModel[3] {
new CarModel(1, "gallardo", new CarSeries(100, "xyz")),
new CarModel(2, "veneno", new CarSeries(200, "abc"),
new CarModel(3, "Huracan", new CarSeries(300, "pqr")
};
答案 3 :(得分:1)
一旦声明了carmodel数组,就必须访问数组的索引以插入每个车型。
CarModel carModels[] = new CarModel[3];
carModels[0] = new CarModel(0, "model1", new CarSeries(0, "serie1"));
carModels[1] = new CarModel(1, "model2", new CarSeries(1, "serie2"));
carModels[2] = new CarModel(2, "model3", new CarSeries(2, "serie3"));
您也可以在
之前声明CarSeriesCarSeries carSerie1 = new CarSeries(0, "serie1");
CarSeries carSerie2 = new CarSeries(1, "serie2");
CarSeries carSerie3 = new CarSeries(2, "serie3");
并在CarModel的构造函数中使用引用
carModels[0] = new CarModel(0, "model1", carSerie1);
carModels[1] = new CarModel(1, "model2", carSerie2);
carModels[2] = new CarModel(2, "model3", carSerie3);
您必须考虑到必须正确声明构造函数或代码不能编译
答案 4 :(得分:0)
你可以使用Map界面。
Map<Object, Object>yourMapName = new HashMap<Object, Object>();
但我建议您阅读更多关于馆藏及其hierarchy的内容。
答案 5 :(得分:-2)
首先,你不能像你那样&gt;实例化你的模型
您正在做的是:实例化名称为CarModel
carmodels[]
你可以做一个arraylist