我有一堂课叫receipt
其中一个属性是一个数组item[] items;
我有一个方法addItem (string name , int quantity , double price)
。我的问题是如何将这些参数添加到数组中items[]
?那么如何检查数量是否大于0呢?
代码是什么?我的问题清楚吗?
她的是我的代码:
public boolean addItem(String name, int quantity,double price){
if(quantity <= 0){
System.out.println("Item wasnt added");
return false;}
else{
item [nItem++];//here is the problem
}
}
您首先需要做两件事,以确保您拥有一个项目。这[]
只是为了取消引用(也就是说访问内存位置而不是对数组的引用)。您需要创建一个要添加的项目。您需要做的第二件事是确保有空间。不允许访问未由数组保留的内存。
public class Receipt {
private int nItems;
private Item[] items;
Receipt() {
nItems = 0;
items = new Item[10]; // Set initial size
}
/**
Set initial size of array
*/
Receipt(int initSize) {
if (initSize <= 0) {
throw new IllegalArgumentException("initSize must be larger than 0");
}
nItems = 0;
items = new Item[initSize]; // Set initial size
}
public void addItem(Item item) {
reserve();
items[nItems] = item;
nItems++; // Bad experiences of incrementing while dereferencing
}
/**
Make sure there is enough space in items to add an ingredient
*/
private void reserve() {
if (items.length == nItems) {
Item [] tmp = new Item[nItems*2]; // Double size if array is full.
for (int i=0; i<nItems; i++) { // Copy the old elements to new array
tmp[i] = items[i];
}
items = tmp; // Replace the old array with the new array.
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)