超市收银系统java
时间: 2023-11-04 08:58:30 浏览: 47
好的,我可以帮助您解答关于超市收银系统的问题。在Java中实现超市收银系统可以采用面向对象的思想,将超市、商品和收银员等概念抽象为类,并定义相应的属性和方法来实现系统的功能。以下是一个简单的示例代码:
```java
// 商品类
class Product {
private String name;
private double price;
public Product(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
// 超市类
class Supermarket {
private List<Product> products;
public Supermarket() {
products = new ArrayList<>();
}
public void addProduct(Product product) {
products.add(product);
}
public Product getProduct(String name) {
for (Product product : products) {
if (product.getName().equals(name)) {
return product;
}
}
return null;
}
}
// 收银员类
class Cashier {
private Supermarket supermarket;
private List<Product> cart;
public Cashier(Supermarket supermarket) {
this.supermarket = supermarket;
cart = new ArrayList<>();
}
public void scan(String productName) {
Product product = supermarket.getProduct(productName);
if (product != null) {
cart.add(product);
System.out.println("扫描成功:" + productName);
} else {
System.out.println("抱歉,该商品不存在:" + productName);
}
}
public double calculateTotal() {
double total = 0.0;
for (Product product : cart) {
total += product.getPrice();
}
return total;
}
}
public class Main {
public static void main(String[] args) {
// 创建超市对象
Supermarket supermarket = new Supermarket();
// 添加商品
supermarket.addProduct(new Product("苹果", 5.0));
supermarket.addProduct(new Product("香蕉", 3.0));
supermarket.addProduct(new Product("饼干", 10.0));
// 创建收银员对象
Cashier cashier = new Cashier(supermarket);
// 扫描商品
cashier.scan("苹果");
cashier.scan("饼干");
cashier.scan("薯片"); // 该商品不存在
// 计算总价
double total = cashier.calculateTotal();
System.out.println("总价:" + total);
}
}
```
这是一个简单的超市收银系统的示例,您可以根据实际需求进行修改和扩展。如果您有其他