帮我用java编写一个药物系统
时间: 2023-06-14 19:03:51 浏览: 54
好的,药物系统可以包括以下功能:
1. 药品信息管理:包括药品名称、药品条形码、药品价格、药品类别、药品描述等信息的维护和管理。
2. 药品库存管理:包括药品入库、出库、库存查询等功能。
3. 药品销售管理:包括销售单据的生成、药品销售记录的维护、销售统计等功能。
4. 药品报警管理:包括对药品过期、库存不足等情况进行报警提示。
下面是一个简单的药物管理系统的Java代码:
```java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class MedicineSystem {
private List<Medicine> medicines = new ArrayList<Medicine>();
private Scanner scanner = new Scanner(System.in);
public void showMenu() {
System.out.println("=========================");
System.out.println("欢迎使用药物管理系统");
System.out.println("1. 添加药品");
System.out.println("2. 查询药品信息");
System.out.println("3. 修改药品信息");
System.out.println("4. 删除药品");
System.out.println("5. 入库");
System.out.println("6. 出库");
System.out.println("7. 库存查询");
System.out.println("8. 销售管理");
System.out.println("9. 药品报警管理");
System.out.println("0. 退出系统");
System.out.println("=========================");
}
public void addMedicine() {
Medicine medicine = new Medicine();
System.out.println("请输入药品名称:");
medicine.setName(scanner.next());
System.out.println("请输入药品价格:");
medicine.setPrice(scanner.nextDouble());
System.out.println("请输入药品条形码:");
medicine.setBarcode(scanner.next());
System.out.println("请输入药品类别:");
medicine.setType(scanner.next());
System.out.println("请输入药品描述:");
medicine.setDescription(scanner.next());
medicines.add(medicine);
System.out.println("药品添加成功!");
}
public void queryMedicine() {
System.out.println("请输入要查询的药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
System.out.println("药品名称:" + medicine.getName());
System.out.println("药品价格:" + medicine.getPrice());
System.out.println("药品条形码:" + medicine.getBarcode());
System.out.println("药品类别:" + medicine.getType());
System.out.println("药品描述:" + medicine.getDescription());
return;
}
}
System.out.println("未找到该药品!");
}
public void updateMedicine() {
System.out.println("请输入要修改的药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
System.out.println("请输入新的药品价格:");
medicine.setPrice(scanner.nextDouble());
System.out.println("请输入新的药品条形码:");
medicine.setBarcode(scanner.next());
System.out.println("请输入新的药品类别:");
medicine.setType(scanner.next());
System.out.println("请输入新的药品描述:");
medicine.setDescription(scanner.next());
System.out.println("药品信息修改成功!");
return;
}
}
System.out.println("未找到该药品!");
}
public void deleteMedicine() {
System.out.println("请输入要删除的药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
it.remove();
System.out.println("药品删除成功!");
return;
}
}
System.out.println("未找到该药品!");
}
public void addStock() {
System.out.println("请输入要入库的药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
System.out.println("请输入入库数量:");
int count = scanner.nextInt();
medicine.setStock(medicine.getStock() + count);
System.out.println("药品入库成功!");
return;
}
}
System.out.println("未找到该药品!");
}
public void reduceStock() {
System.out.println("请输入要出库的药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
System.out.println("请输入出库数量:");
int count = scanner.nextInt();
if (count > medicine.getStock()) {
System.out.println("库存不足!");
return;
}
medicine.setStock(medicine.getStock() - count);
System.out.println("药品出库成功!");
return;
}
}
System.out.println("未找到该药品!");
}
public void queryStock() {
System.out.println("请输入要查询的药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
System.out.println("药品名称:" + medicine.getName());
System.out.println("药品库存:" + medicine.getStock());
return;
}
}
System.out.println("未找到该药品!");
}
public void saleMedicine() {
System.out.println("请输入销售药品名称:");
String name = scanner.next();
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getName().equals(name)) {
System.out.println("请输入销售数量:");
int count = scanner.nextInt();
if (count > medicine.getStock()) {
System.out.println("库存不足!");
return;
}
SaleRecord record = new SaleRecord();
record.setMedicine(medicine);
record.setCount(count);
record.setAmount(medicine.getPrice() * count);
medicine.setStock(medicine.getStock() - count);
System.out.println("销售成功!");
return;
}
}
System.out.println("未找到该药品!");
}
public void alarmMedicine() {
Iterator<Medicine> it = medicines.iterator();
while (it.hasNext()) {
Medicine medicine = it.next();
if (medicine.getStock() < 10) {
System.out.println("药品:" + medicine.getName() + " 库存不足!");
}
if (medicine.getExpireDate() != null && medicine.getExpireDate().getTime() < System.currentTimeMillis()) {
System.out.println("药品:" + medicine.getName() + " 已过期!");
}
}
}
public void start() {
while (true) {
showMenu();
int choice = scanner.nextInt();
switch (choice) {
case 1:
addMedicine();
break;
case 2:
queryMedicine();
break;
case 3:
updateMedicine();
break;
case 4:
deleteMedicine();
break;
case 5:
addStock();
break;
case 6:
reduceStock();
break;
case 7:
queryStock();
break;
case 8:
saleMedicine();
break;
case 9:
alarmMedicine();
break;
case 0:
System.exit(0);
default:
System.out.println("输入有误,请重新输入!");
}
}
}
public static void main(String[] args) {
MedicineSystem system = new MedicineSystem();
system.start();
}
}
class Medicine {
private String name;
private double price;
private String barcode;
private String type;
private String description;
private int stock;
private long expireDate;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getBarcode() {
return barcode;
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
public long getExpireDate() {
return expireDate;
}
public void setExpireDate(long expireDate) {
this.expireDate = expireDate;
}
}
class SaleRecord {
private Medicine medicine;
private int count;
private double amount;
public Medicine getMedicine() {
return medicine;
}
public void setMedicine(Medicine medicine) {
this.medicine = medicine;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}
```
注意:以上代码仅提供参考,实际情况可能需要更多的功能或者具体的业务逻辑需要进行修改。