JAVA代码实现:定义GoodsManage类,要求如下: 私有属性:商品数组(Goods类型的数组) 公共方法: 构造方法:1个参数(商品数组长度n),根据参数的值创建商品数组,然后循环遍历数组,调用Goods类的带参数构造方法为每个数组元素创建Goods对象,并调用KS类的静态方法输入每个商品的名称、数量、单价等信息。 search方法: 1个参数(商品名称),在商品数组中查找是否包含与参数名称相同的商品,如果有则调用其print方法输出商品信息,返回其下标。否则输出查找失败信息,返回-1。 search方法: 2个参数(最低价格、最高价格),在商品数组中查找商品价格在最低价格和最高价格之间的所有商品,若查找成功则依次输出这些商品信息,返回true。若查找失败则输出错误信息,返回false。 buyGoods方法:两个参数(商品名称、购买数量),在商品数组中根据名称参数查找到对应的商品对象,并调用其buy方法实现购买操作。 saleGoods方法:两个参数(商品名称、销售数量),在商品数组中根据名称参数查找到对应的商品对象,并调用其sale方法实现销售操作。 total方法:遍历商品数组,返回数组所有商品的价值总和(注意:每个商品的总价=数量*单价)。 printAll方法:遍历数组,输出每个商品的信息。
时间: 2024-02-12 16:06:23 浏览: 54
以下是实现GoodsManage类的Java代码:
```java
public class GoodsManage {
private Goods[] goodsArray;
public GoodsManage(int n) {
goodsArray = new Goods[n];
for (int i = 0; i < n; i++) {
String name = KS.getString("请输入第" + (i+1) + "个商品的名称:");
double price = KS.getDouble("请输入第" + (i+1) + "个商品的单价:");
int quantity = KS.getInt("请输入第" + (i+1) + "个商品的数量:");
goodsArray[i] = new Goods(name, price, quantity);
}
}
public int search(String name) {
for (int i = 0; i < goodsArray.length; i++) {
if (goodsArray[i].getName().equals(name)) {
goodsArray[i].print();
return i;
}
}
System.out.println("查找失败!");
return -1;
}
public boolean search(double minPrice, double maxPrice) {
boolean found = false;
for (int i = 0; i < goodsArray.length; i++) {
if (goodsArray[i].getPrice() >= minPrice && goodsArray[i].getPrice() <= maxPrice) {
goodsArray[i].print();
found = true;
}
}
if (!found) {
System.out.println("查找失败!");
return false;
}
return true;
}
public void buyGoods(String name, int quantity) {
for (int i = 0; i < goodsArray.length; i++) {
if (goodsArray[i].getName().equals(name)) {
goodsArray[i].buy(quantity);
return;
}
}
System.out.println("购买失败,查无此商品!");
}
public void saleGoods(String name, int quantity) {
for (int i = 0; i < goodsArray.length; i++) {
if (goodsArray[i].getName().equals(name)) {
goodsArray[i].sale(quantity);
return;
}
}
System.out.println("销售失败,查无此商品!");
}
public double total() {
double sum = 0;
for (int i = 0; i < goodsArray.length; i++) {
sum += goodsArray[i].getTotalPrice();
}
return sum;
}
public void printAll() {
for (int i = 0; i < goodsArray.length; i++) {
goodsArray[i].print();
}
}
}
```
在上面的代码中,我们将Goods类的一些方法用到了,因此需要先实现Goods类。同时,为了方便输入信息,我们还使用了KS工具类。
阅读全文