本例要求编写一个程序,模拟库存管理系统。该系统主要包括系统首页、商品入库、商品显示和删除商品功能。每个功能的具体要求如下: (1) 系统的首页:用于显示系统所有的操作,并且可以选择使用某一个功能。 (2) 商品入库功能:首先提示是否要录入商品,根据用户输入的信息判断是否需要录入商品。如果需要录入商品,则需要用户输入商品的名称、颜色、价格和数量等信息。录入完成后,提示商品录入成功并打印所有商品。如果不需要录入商品,则返回系统首页。 (3) 商品显示功能:用户选择商品显示功能后,在控制台打印仓库所有商品信息。 (4) 删除商品功能:用户选择删除商品功能后,根据用户输入的商品编号删除商品,并在控制台打印删除后的所有商品。 本案例要求使用Collection集合存储自定义的对象,并用迭代器、增强for循环遍历集合。
时间: 2023-06-17 19:04:11 浏览: 233
好的,我可以帮你编写这个程序。 首先,我们需要定义一个商品类,包括名称、颜色、价格和数量等属性。代码如下:
```
public class Product {
private String name;
private String color;
private double price;
private int quantity;
public Product(String name, String color, double price, int quantity) {
this.name = name;
this.color = color;
this.price = price;
this.quantity = quantity;
}
public String getName() {
return name;
}
public String getColor() {
return color;
}
public double getPrice() {
return price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
@Override
public String toString() {
return "Product{" +
"name='" + name + '\'' +
", color='" + color + '\'' +
", price=" + price +
", quantity=" + quantity +
'}';
}
}
```
接下来,我们可以创建一个存储商品的集合。这里我们使用ArrayList集合来存储商品对象,代码如下:
```
List<Product> productList = new ArrayList<>();
```
然后,我们可以编写系统首页,让用户选择需要使用的功能。代码如下:
```
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice = 0;
do {
System.out.println("1. 商品入库");
System.out.println("2. 商品显示");
System.out.println("3. 删除商品");
System.out.println("0. 退出系统");
System.out.println("请选择需要使用的功能:");
choice = scanner.nextInt();
switch (choice) {
case 1:
addProduct(productList);
break;
case 2:
showProduct(productList);
break;
case 3:
deleteProduct(productList);
break;
case 0:
System.out.println("感谢使用本系统!");
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
} while (choice != 0);
}
```
在这个系统首页中,我们使用了一个do-while循环,让用户可以多次选择使用系统功能。根据用户的选择,调用相应的方法,如添加商品、显示商品和删除商品等。
接下来,我们来编写添加商品的方法addProduct。代码如下:
```
public static void addProduct(List<Product> productList) {
Scanner scanner = new Scanner(System.in);
System.out.println("是否需要录入商品?(y/n)");
String choice = scanner.nextLine();
if (choice.equalsIgnoreCase("y")) {
System.out.println("请输入商品名称:");
String name = scanner.nextLine();
System.out.println("请输入商品颜色:");
String color = scanner.nextLine();
System.out.println("请输入商品价格:");
double price = scanner.nextDouble();
System.out.println("请输入商品数量:");
int quantity = scanner.nextInt();
Product product = new Product(name, color, price, quantity);
productList.add(product);
System.out.println("商品录入成功!");
}
showProduct(productList);
}
```
在这个方法中,我们首先询问用户是否需要录入商品。如果需要,就让用户输入商品的名称、颜色、价格和数量等信息,然后创建一个商品对象并添加到集合中,最后提示商品录入成功。
然后,我们来编写显示商品的方法showProduct。代码如下:
```
public static void showProduct(List<Product> productList) {
if (productList.isEmpty()) {
System.out.println("仓库中没有商品!");
} else {
System.out.println("仓库中所有商品如下:");
Iterator<Product> iterator = productList.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
```
在这个方法中,我们首先判断集合是否为空。如果为空,就提示用户仓库中没有商品;否则,就使用迭代器遍历集合中的所有商品并打印出来。
最后,我们来编写删除商品的方法deleteProduct。代码如下:
```
public static void deleteProduct(List<Product> productList) {
Scanner scanner = new Scanner(System.in);
if (productList.isEmpty()) {
System.out.println("仓库中没有商品!");
} else {
System.out.println("仓库中所有商品如下:");
for (int i = 0; i < productList.size(); i++) {
System.out.println((i + 1) + ". " + productList.get(i));
}
System.out.println("请输入要删除的商品编号:");
int choice = scanner.nextInt();
if (choice > 0 && choice <= productList.size()) {
productList.remove(choice - 1);
System.out.println("商品已删除!");
} else {
System.out.println("输入有误,请重新选择!");
}
showProduct(productList);
}
}
```
在这个方法中,我们首先判断集合是否为空。如果为空,就提示用户仓库中没有商品;否则,就使用增强for循环遍历集合中的所有商品并打印出来,然后让用户输入要删除的商品编号。如果输入的编号合法,就从集合中删除对应的商品,并提示删除成功;否则,就提示输入有误。
这样,我们就完成了库存管理系统的编写。完整代码如下:
阅读全文