Java 使数组中的一个位置等于一个新对象
如何使数组中的一个位置等于一个新对象Java 使数组中的一个位置等于一个新对象,java,arrays,object,Java,Arrays,Object,如何使数组中的一个位置等于一个新对象 public SalesItem findItem(String itemCode){ SalesItem[] item = new SalesItem(); for (int i=0; i<size; i++) { if(itemCode.equals(items[i].getItemCode())){ if(items[i].getQuantity() > 0) {
public SalesItem findItem(String itemCode){
SalesItem[] item = new SalesItem();
for (int i=0; i<size; i++) {
if(itemCode.equals(items[i].getItemCode())){
if(items[i].getQuantity() > 0) {
item = items[i];
items[i].setQuantity(items[i].getQuantity()-1);
}
}
return item;
}
公共SalesItem findItem(字符串itemCode){
SalesItem[]项=新的SalesItem();
对于(int i=0;i 0){
项目=项目[i];
items[i].setQuantity(items[i].getQuantity()-1);
}
}
退货项目;
}
我试图找到数组中包含字符串“itemCode”的位置,然后使用该数组位置使其等于我声明的新项目,这样我就可以返回要添加到购物篮中的新项目
我知道我对SalesItem对象做得不对,但我不知道是什么。您正在声明一个SalesItems数组而不是一个对象,因此
项的声明可能如下所示:
SalesItem item = new SalesItem();
SalesItem item = null;
编辑:您可能还希望完全删除新对象的创建,因为在为item
分配items[i]
的值后,将不会使用该对象。那么就这样声明吧:
SalesItem item = new SalesItem();
SalesItem item = null;
在item=items[i]
之后,item
将包含对您正在查找的数组中的对象的引用,如果未找到,则为null。您声明的是SalesItems数组而不是一个对象,因此item
的声明可能如下:
SalesItem item = new SalesItem();
SalesItem item = null;
编辑:您可能还希望完全删除新对象的创建,因为在为item
分配items[i]
的值后,将不会使用该对象。那么就这样声明吧:
SalesItem item = new SalesItem();
SalesItem item = null;
在item=items[i]
之后,item
将包含对您正在查找的数组中的对象的引用,如果未找到,则为null。假设代码的其他部分是正确的(例如getQuantity()
和setQuantity()
中的setQuantity()
),我能看到的唯一错误是:
SalesItem[] item = new SalesItem();
我想你只是想做:
SalesItem item = null;
这样findItem()
将返回null
,如果没有项目与您要查找的itemCode
匹配。假设代码的其他部分是正确的(例如getQuantity()
和setQuantity()
中的saleItem
),我能看到的唯一错误是:
SalesItem[] item = new SalesItem();
我想你只是想做:
SalesItem item = null;
这样,如果没有与您要查找的itemCode
匹配的项,则findItem()
将返回null
。要更快获得更好的帮助,请发布一个。此代码缺少部分,并且有明显的编译错误…您缺少一个“}”。这是您的代码中的错误还是您的帖子中的错误?@anshulkatta请不要建议对“修复”问题进行编辑。那没什么帮助。大小只是商店里不同商品的数量。我刚刚错过了文章中的一个小括号。为了更快地获得更好的帮助,请发布一个。这段代码缺少部分,并且有明显的编译错误…您缺少一个“}”。这是您的代码中的错误还是您的帖子中的错误?@anshulkatta请不要建议对“修复”问题进行编辑。那没什么帮助。大小只是商店里不同商品的数量。我只是错过了帖子中的一个小括号。