Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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 - Fatal编程技术网

Java 对象转换为索引表

Java 对象转换为索引表,java,Java,我有三个物体p1,p2,p3 我正在将对象从Order类传递给addItem方法 我想创建一个Item[]数组,每个新对象添加到该数组的下一个索引中 怎么做?在addItem()中,我有一个对象,其中包含其余对象的所有值。如何分割 类顺序{ 项目[]项目; int-maxOrderSize; 公共秩序(int maxOrderSize){ this.maxOrderSize=maxOrderSize; } 无效附加项(项目p){ 系统输出println(p); } } 类项目{ 字符串名; 整数

我有三个物体p1,p2,p3

我正在将对象从Order类传递给addItem方法

我想创建一个
Item[]
数组,每个新对象添加到该数组的下一个索引中

怎么做?在addItem()中,我有一个对象,其中包含其余对象的所有值。如何分割

类顺序{
项目[]项目;
int-maxOrderSize;
公共秩序(int maxOrderSize){
this.maxOrderSize=maxOrderSize;
}
无效附加项(项目p){
系统输出println(p);
}
}
类项目{
字符串名;
整数计数;
双倍价格;
公共项目(字符串名称、整数计数、双倍价格){
this.name=名称;
this.count=计数;
这个价格=价格;
}
私有双countValueorder(){
返回价格*计数;
}
公共字符串toString(){
返回名称+“”+价格+“欧元”+计数+“”+countValueorder()+“欧元”;
}
}
公共班机{
公共静态void main(字符串[]args){
项目p1=新项目(“测试1”,3,5.0);
项目p2=新项目(“测试2”,1,0.5);
项目p3=新项目(“测试3”,1,3.5);
订单z=新订单(20);
z、 附加项(p1);
z、 附加项(p2);
z、 附加项(p3);
}
}

由于您只是使用数组来存储项,因此必须在构造函数中使用大小对其进行初始化,然后添加
项[0]=p
的项。如果列表应该动态增长,请尝试搜索ArrayList。

我建议为您的Order类提供以下解决方案:

  • 使用具有参数大小的新项数组初始化数组

  • 将新变量添加到类
    Order
    ,该类统计已添加的项目数

  • 使用此变量将项目存储在正确的位置

  • e、 g.解决方案可以如下所示:

    类顺序{
    项目[]项目;
    int itemsInArray=0;
    公共秩序(int maxOrderSize){
    items=新项目[maxOrderSize];
    }
    无效附加项(项目p){
    items[itemsInArray]=p;
    itemsInArray++;
    }
    }
    
    如果您的Order类模拟了一个列表,那么您拥有的代码似乎可以工作。该尝试的输出是什么?