简易仓库管理系统java不用数据库
时间: 2023-08-20 17:04:14 浏览: 50
好的,我可以为您提供一个简单的Java仓库管理系统示例,不需要使用数据库。以下是一个简单的基于Java的仓库管理系统的示例,它使用文件来存储数据:
```java
import java.io.*;
import java.util.*;
public class InventorySystem {
private static final String FILE_PATH = "inventory.txt";
private static final String DELIMITER = ",";
private static List<Item> inventory = new ArrayList<>();
public static void main(String[] args) {
loadData();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Enter a command ('add', 'remove', 'list', 'exit'): ");
String command = scanner.nextLine();
switch (command) {
case "add":
addItem(scanner);
break;
case "remove":
removeItem(scanner);
break;
case "list":
listItems();
break;
case "exit":
saveData();
System.exit(0);
default:
System.out.println("Invalid command.");
break;
}
}
}
private static void loadData() {
try (BufferedReader reader = new BufferedReader(new FileReader(FILE_PATH))) {
String line;
while ((line = reader.readLine()) != null) {
String[] data = line.split(DELIMITER);
int id = Integer.parseInt(data[0]);
String name = data[1];
int quantity = Integer.parseInt(data[2]);
double price = Double.parseDouble(data[3]);
inventory.add(new Item(id, name, quantity, price));
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void saveData() {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(FILE_PATH))) {
for (Item item : inventory) {
writer.write(item.getId() + DELIMITER + item.getName() + DELIMITER + item.getQuantity() +
DELIMITER + item.getPrice());
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void addItem(Scanner scanner) {
System.out.println("Enter item name: ");
String name = scanner.nextLine();
System.out.println("Enter item quantity: ");
int quantity = scanner.nextInt();
scanner.nextLine();
System.out.println("Enter item price: ");
double price = scanner.nextDouble();
scanner.nextLine();
int id = inventory.size() + 1;
inventory.add(new Item(id, name, quantity, price));
System.out.println("Item added successfully.");
}
private static void removeItem(Scanner scanner) {
System.out.println("Enter item ID to remove: ");
int id = scanner.nextInt();
scanner.nextLine();
boolean removed = inventory.removeIf(item -> item.getId() == id);
if (removed) {
System.out.println("Item removed successfully.");
} else {
System.out.println("Item not found.");
}
}
private static void listItems() {
System.out.println("ID\tName\tQuantity\tPrice");
for (Item item : inventory) {
System.out.println(item.getId() + "\t" + item.getName() + "\t" + item.getQuantity() + "\t\t" +
item.getPrice());
}
}
private static class Item {
private int id;
private String name;
private int quantity;
private double price;
public Item(int id, String name, int quantity, double price) {
this.id = id;
this.name = name;
this.quantity = quantity;
this.price = price;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
}
```
该程序使用一个简单的文本文件来保存库存信息。每个项目都有一个ID、名称、数量和价格。用户可以通过添加、删除和列出项目来管理库存。
在程序中,`loadData()` 方法从文件中加载数据,`saveData()` 方法将数据写回文件中。`addItem()` 方法允许用户添加新项目,`removeItem()` 方法允许用户删除项目,`listItems()` 方法显示当前库存清单。
请注意,该示例程序只是一个基本示例,可以根据需要进行修改和扩展,例如添加验证、输入错误处理和其他功能。