用java写超市购物,超市的货物包括生活用品和学习用品等,购物者根据货物名能够查找是否有该货物,根据货号能查找该货物的价格,打印购物清单。统计货品销售的数量。
时间: 2023-09-07 18:05:25 浏览: 74
### 回答1:
好的,这是一个非常有趣的问题。为了实现这个超市购物系统,我们需要使用 Java 编程语言,并创建一个包含货物信息的数据库。我们可以使用 HashMap 来存储货物信息,其中键是货号,值是一个包含货物名称和价格的对象。当购物者输入货物名称时,我们可以遍历 HashMap 来查找是否有该货物,如果有,我们可以输出货物的价格。购物者可以将货物添加到购物清单中,我们可以使用 ArrayList 来存储购物清单。当购物者完成购物后,我们可以遍历购物清单来统计货品销售的数量,并输出购物清单和销售数量。以下是示例代码:
```
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Supermarket {
public static void main(String[] args) {
HashMap<String, Item> items = new HashMap<>();
items.put("001", new Item("Toothbrush", 5.99));
items.put("002", new Item("Shampoo", 8.99));
items.put("003", new Item("Notebook", 2.99));
items.put("004", new Item("Pen", 0.99));
ArrayList<Item> shoppingList = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
String input = "";
while (!input.equals("exit")) {
System.out.println("Please enter item name or item number:");
input = scanner.nextLine();
if (items.containsKey(input)) {
Item item = items.get(input);
System.out.println("Item price: $" + item.getPrice());
shoppingList.add(item);
} else {
System.out.println("Item not found.");
}
}
System.out.println("Shopping list:");
for (Item item : shoppingList) {
System.out.println(item.getName() + " - $" + item.getPrice());
}
System.out.println("Total items sold: " + shoppingList.size());
}
}
class Item {
private String name;
private double price;
public Item(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
```
### 回答2:
使用Java可以很方便地实现超市购物系统。首先,可以创建一个货物类,其中包含货物的名称、货号和价格等属性。例如:
```java
public class Commodity {
private String name;
private String id;
private double price;
public Commodity(String name, String id, double price) {
this.name = name;
this.id = id;
this.price = price;
}
// 省略getter和setter方法
}
```
接下来,可以创建超市类,其中包含货物列表以及购物者所需的各种方法。例如:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Supermarket {
private List<Commodity> commodities;
private Map<String, Integer> salesStatistics;
public Supermarket() {
commodities = new ArrayList<>();
salesStatistics = new HashMap<>();
}
// 添加货物
public void addCommodity(Commodity commodity) {
commodities.add(commodity);
}
// 根据货物名称查找是否有该货物
public boolean findCommodityByName(String name) {
for (Commodity commodity : commodities) {
if (commodity.getName().equals(name)) {
return true;
}
}
return false;
}
// 根据货号查找货物价格
public double getPriceById(String id) {
for (Commodity commodity : commodities) {
if (commodity.getId().equals(id)) {
return commodity.getPrice();
}
}
return -1; // 若没有找到,则返回-1表示错误
}
// 打印购物清单
public void printShoppingList() {
for (Commodity commodity : commodities) {
System.out.println("货物名称:" + commodity.getName() + ",货号:" + commodity.getId() + ",价格:" + commodity.getPrice());
}
}
// 统计货品销售数量
public void updateSalesStatistics(String name, int quantity) {
if (salesStatistics.containsKey(name)) {
int currentQuantity = salesStatistics.get(name);
salesStatistics.put(name, currentQuantity + quantity);
} else {
salesStatistics.put(name, quantity);
}
}
// 获取销售统计
public Map<String, Integer> getSalesStatistics() {
return salesStatistics;
}
}
```
最后,可以在主方法中使用超市类来进行购物操作,例如:
```java
public class Main {
public static void main(String[] args) {
Supermarket supermarket = new Supermarket();
Commodity commodity1 = new Commodity("洗发水", "001", 25.0);
Commodity commodity2 = new Commodity("牙刷", "002", 5.0);
Commodity commodity3 = new Commodity("笔记本", "003", 10.0);
supermarket.addCommodity(commodity1);
supermarket.addCommodity(commodity2);
supermarket.addCommodity(commodity3);
boolean hasCommodity = supermarket.findCommodityByName("洗发水");
System.out.println(hasCommodity);
double price = supermarket.getPriceById("002");
System.out.println(price);
supermarket.printShoppingList();
supermarket.updateSalesStatistics("洗发水", 2);
supermarket.updateSalesStatistics("牙刷", 3);
Map<String, Integer> salesStatistics = supermarket.getSalesStatistics();
for (String name : salesStatistics.keySet()) {
System.out.println("货物:" + name + ",销售数量:" + salesStatistics.get(name));
}
}
}
```
这样,就能够实现一个简单的超市购物系统,并能够进行货物的查找、获取价格、打印购物清单和统计销售数量等功能。
阅读全文