训练实例——食品库存管理系统(集合类)

运用集合类编写的食品库系统

按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出

分为主类 食品类 食品管理类

完整代码如下

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
    public static void main(String[] args) throws Exception {//主类
        SPGL spgl=new SPGL();
        BufferedReader shuru =new BufferedReader (new InputStreamReader(System.in));
        //InputStreamReader输入流 通过BufferedReader导入
        
        
    while(true) {//死循环 除非按0
        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("0 退出");
        
        String xuhao=shuru.readLine();//读取一行 readLine() 必须为String类型 而且会要求异常处理为 throws
        if(xuhao.equals("1")) {//输出列表
            spgl.splb();
        }
        else if(xuhao.equals("2")) {//添加食品
            System.out.println("食品编号");
            String bianhao=shuru.readLine();
            System.out.println("食品名称");
            String mincheng=shuru.readLine();
            System.out.println("食品价格");
            float jiage=Float.parseFloat(shuru.readLine());
            SP x = new SP(bianhao,mincheng,jiage); //建立一个食品类对象x 并附上属性
            spgl.addsp(x);        //将x加入到集合类aa中
        }
        
        else if(xuhao.equals("3")) {//查找商品
            System.out.println("请输入食品编号");
            String bianhao=shuru.readLine();
            spgl.spcx(bianhao);
        }
        
        else if(xuhao.equals("4")) {//修改价格
            System.out.println("请输入食品编号");
            String bianhao=shuru.readLine();
            spgl.spcx(bianhao);
            System.out.println("请输入修改价格");
            float jiage=Float.parseFloat(shuru.readLine());
            spgl.spjgxg(bianhao, jiage);
        }
        
        else if(xuhao.equals("5")) {//删除商品
            System.out.println("请输入食品编号");
            String bianhao=shuru.readLine();
            spgl.spsc(bianhao);
        }
        
        else if(xuhao.equals("0")) {//退出系统
            System.out.println("谢谢使用,再见");
            System.exit(0);//系统关闭 此系统只有一个while循环,也可用break;
            //break;
        }
        
        else {
            System.out.println("输入有误");
        }
    }
        
        
        
        
        
    }
}

class SPGL {//食品管理类
    private ArrayList aa=null;   //建立一个集合类aa 为空
    SPGL(){
        aa=new ArrayList();//初始化    aa  
    }
    
    
    public void addsp(SP i) {//添加食品
        aa.add(i);
        System.out.println("添加成功");
    }
    
    public void splb() {//食品列表
        System.out.println(" 食品编号     "+"  "+" 食品名称     "+"  "+" 食品价格     ");
        for(int i=0;i

测试结果:

按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
2
食品编号
001
食品名称
wertyui
食品价格
99
添加成功
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
2
食品编号
002
食品名称
cvghui
食品价格
38
添加成功
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
2
食品编号
003
食品名称
udjssxcf
食品价格
67
添加成功
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
1
 食品编号        食品名称        食品价格     
001  wertyui  99.0
002  cvghui  38.0
003  udjssxcf  67.0
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
3
请输入食品编号
002
 食品编号        食品名称        食品价格     
002  cvghui  38.0
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
4
请输入食品编号
001
 食品编号        食品名称        食品价格     
001  wertyui  99.0
请输入修改价格
98
价格修改成功
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
5
请输入食品编号
002
食品已删除成功
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
1
 食品编号        食品名称        食品价格     
001  wertyui  98.0
003  udjssxcf  67.0
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出

输入有误
按照提示输入序号
1 食品列表
2 添加食品
3 查找食品
4 修改价格
5 删除食品
0 退出
0
谢谢使用,再见

目前发现的部分缺陷如下:

  1. 食品列表未增加空判断
  2. 食品编号未限制

总结:目的主要熟练集合类的使用,目的达成。通过之后界面完善,可以更加接近真实系统。目前缺陷不影响程序运行。

你可能感兴趣的:(训练实例——食品库存管理系统(集合类))