java超市管理系统实战
是一个控制台版本的系统。主要是复习一下面向对象
测试类 如下
//测试(运行)类
public class MainFrame {
public static void main(String[] args) {
//实例化系统对象
Shop shop = new Shop();
}
}
商品类如下
//货物信息类
public class Food {
//商品ID
private int ID;
//商品名称
private String name;
//商品单价
private double price;
//商品数量
private double number;
//商品金额
private double money;
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
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 double getNumber() {
return number;
}
public void setNumber(double number) {
this.number = number;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
系统类如下
import java.util.ArrayList;
import java.util.Scanner;
import java.util.function.DoubleUnaryOperator;
/*
* 超市管理系统:功能介绍
* 根据提示仙则不同的功能
* 根据选择进行商品的增:insert 删:delete 改:update 查:select
*/
public class Shop {
// 使用 ArrayList对商品进行保存
ArrayList<Food> arrayList = new ArrayList<Food>();
// 构造方法(启动实例)
public Shop() {
init(arrayList);
// 调用菜单功能方法
System.out.println("========================欢迎进入虎虎超市管理系统=======================");
while (true) {
print();
System.out.println("输入你要执行的操作");
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
switch (input) {
case 1:
select(arrayList);
break;
case 2:
insert(arrayList);
break;
case 3:
update(arrayList);
break;
case 4:
delete(arrayList);
break;
case 5:
System.out.println("=========================欢迎下次使用,再见!=========================");
return;
default:
System.out.println("输入正确的选项!!!");
break;
}
}
}
// 打印菜单选项方法
public void print() {
System.out.print("1.查看商品");
System.out.print("2.添加商品");
System.out.print("3.修改商品");
System.out.print("4.删除商品");
System.out.print("5.退出系统");
System.out.println();
}
/*
* 默认系统开启现存两商品
*/
public void init(ArrayList<Food> arraylist) {
//实例化一个对象,并封装数据
Food f1 = new Food();
f1.setID(1);
f1.setName("鸡蛋");
f1.setPrice(2);
f1.setNumber(10);
f1.setMoney(20);
Food f2 = new Food();
f2.setID(2);
f2.setName("火腿");
f2.setPrice(5);
f2.setNumber(10);
f2.setMoney(50);
arrayList.add(f1);
arrayList.add(f2);
}
// 查看菜单
public void select(ArrayList<Food> arrayList) {
System.out.println("======商品清单如下=======");
System.out.println("商品编号 " + "商品名称 " + "商品单价 " + "商品数量 " + "商品总价");
for (int i = 0; i < arrayList.size(); i++) {
Food food = arrayList.get(i);
System.out.println(food.getID() + " " + food.getName() + " " + food.getPrice() + " " + food.getNumber()
+ " " + food.getMoney());
}
}
/*
* 添加商品方法 参数:arryList 无返回值
*/
public void insert(ArrayList<Food> arrayList) {
System.out.println("======商品添加操作=======");
System.out.println("请输入商品编号");
// 键盘接受输入的数据
int id = new Scanner(System.in).nextInt();
System.out.println("请输入商品名称");
String name = new Scanner(System.in).next();
System.out.println("请输入商品价格");
double price = new Scanner(System.in).nextDouble();
System.out.println("请输入商品数量");
double number = new Scanner(System.in).nextDouble();
// 实例化一个商品对象存储数据
Food food = new Food();
food.setID(id);
food.setName(name);
food.setPrice(price);
food.setNumber(number);
food.setMoney(price * number);
// 把food对象存储到数组中
arrayList.add(food);
System.out.println("商品添加成功");
}
/*
* 修改菜单 参数:arraylist 无返回值
*/
public void update(ArrayList<Food> arrayList) {
System.out.println("======商品修改操作=======");
System.out.println("输入要修改的商品编号");
int id = new Scanner(System.in).nextInt();
// 遍历数组
for (int i = 0; i < arrayList.size(); i++) {
Food food = arrayList.get(i);
if (food.getID() == id) {
//录入新的商品
System.out.println("输入新商品的编号");
int newId = new Scanner(System.in).nextInt();
System.out.println("输入新商品的名称");
String newName = new Scanner(System.in).next();
System.out.println("输入新商品的单价");
double newPrice = new Scanner(System.in).nextDouble();
System.out.println("输入新商品的数量");
double newNumber = new Scanner(System.in).nextDouble();
// 封装成对象
food.setID(newId);
food.setName(newName);
food.setPrice(newPrice);
food.setNumber(newNumber);
food.setMoney(newNumber * newPrice);
// 把对象存储到数组中
arrayList.add(food);
//把要修改的删除
arrayList.remove(id);
System.out.println("修改成功");
return;
}
}
System.out.println("不存在此编号的商品");
}
/*
* 删除功能
* 参数 arrayList
* 返回值 无返回值
*/
public void delete(ArrayList<Food> arrayList) {
System.out.println("======商品删除操作=======");
System.out.println("输入要删除的商品编号");
//接受键盘输入的数字
int id = new Scanner(System.in).nextInt();
//遍历
for(int i=1;i<arrayList.size();i++){
//取出当前的对象
Food food = arrayList.get(i);
//判断输入的编号与已经存在的商品编号是否匹配
if(food.getID()==id){
arrayList.remove(i);
System.out.println("成功删除商品");
return;
}
}
System.out.println("输入的商品不存在");
}
}