精华内容
下载资源
问答
  • 10115 基于SSM开发的商品入库系统 技术 Spring + SpringMVC+ MyBatis 工具 eclipse + tomact + mysql + jdk 功能详情 用户管理 商品管理 商品入库 商品入库记录 系统相关截图

    10115 基于SSM开发的商品出入库系统

    技术
    Spring + SpringMVC+ MyBatis

    工具
    eclipse + tomact + mysql + jdk

    功能详情

    • 用户管理
    • 商品管理
    • 商品出入库
    • 商品出入库记录

    系统相关截图
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 主要介绍了Java实现商品的查找、添加、出库、入库操作,结合完整实例形式分析了java基于面向对象的商品信息添加、删除、查找等相关操作技巧,需要的朋友可以参考下
  • 就比如(1,2),那么结合数据库来说(其实excel表格也是数据库),是不是很像,如果说我们把excel表格的第一行当作数据库的字段的话,那么我们就可以通过相对应字段放到数据库里面(map + insert) 对于java来说...

    先来分析一下操作思路:

    这里的话主要是分析excel表格的格式(你们操作时打开excel表格理解的更深刻): excel表格里面在左下角会有sheet1 ,这个相当于excel表格名字,每张里面都有单元格,但是每个单元格,我们都可以通过坐标的方式来找到,就比如(1,2),那么结合数据库来说(其实excel表格也是数据库),是不是很像,如果说我们把excel表格的第一行当作数据库的字段的话,那么我们就可以通过相对应字段放到数据库里面(map  +   insert)    对于java来说相当于嵌套for循环(这个很好理解的)。不多说,上代码。


    1.  前端

    <label id="realBtn" class="btn btn-outline btn-success">
    <input type="file" id="file" name="file"  value=""  style="left:-9999px;position:absolute;">
    <span>导入商品</span>

    </label>

    前端的话  很简单  只需要上传控件就可以 ,但是原生的丑,所有美化了一下。

    效果:

          这里不过多的说了 


    这里是excel表格规则(按你喜欢的来)

    $("#listForm").on('change','#file',function(){

    var uploadFile = $("#file").val();
                if (uploadFile == '') {
                layer.open({
    title: '温馨提示',
            content: '请选择excel格式,再上传'
    });
    return  false; 

                } else if (uploadFile.lastIndexOf(".xls") < 0) {//可判断以.xls和.xlsx结尾的excel  

                            layer.open({
     title: '温馨提示',
     content: '只能上传Excel文件'
    });
    return  false; 
                } else {
                    //走后台

                  var formData = new FormData();

                    //获取上传控件

                  var file = document.querySelector('[type=file]');
                    formData.append('file',file.files[0])
                    $.ajax({
                       type : 'post',
               url : '${base}/admin/common/uploadExcel.jhtml',
               data : formData,
               cache : false,
               processData : false, // 不处理发送的数据,因为data值是Formdata对象,不需要对数据做处理
               contentType : false, // 不设置Content-type请求头
               success : function(msg){
                    layer.closeAll();
            layer.msg(msg.resultMsg);
            setTimeout(function(){  //使用  setTimeout()方法设定定时2000毫秒
    window.location.reload();//页面刷新
    },3000);
               },
               error : function(msg){ 
                    
               }
                    
                    })
                }

    }) 

    服务端:

    public Object uploadExcel(ModelMap model, MultipartFile file,HttpServletRequest request,HttpServletResponse response) throws Exception {
    Map<String, Object> map = new HashMap<String, Object>();
    ExcelReadUtil excelReadUtil = new ExcelReadUtil();
    List<Product>  products = excelReadUtil.readExcelFile(file);  
    if(products!=null&&products.size()!=0){
    for(Product product:products){
    //库中数据(不要在意只能有一条数据,为什么要用list,我只是懒了点,ZZZZ)
    List<Product> _product =  productService.findBySn(product.getSn());
    //新的数据(不要介意为什么不把老的商品id塞到新的商品信息里面吗,也是懒的原来,项目中已经改过了,不影响项目性能)
    if(_product.size()!=0){
    _product.get(0).setName(product.getName());
    _product.get(0).setModelName(product.getModelName());
    _product.get(0).setColor(product.getColor());
    _product.get(0).setLogo(product.getLogo());
    _product.get(0).setModelCost(product.getModelCost());
    _product.get(0).setModelPrice(product.getModelPrice());
    _product.get(0).setWeight(product.getWeight());
    _product.get(0).setLifeSpan(product.getLifeSpan());
    _product.get(0).setIntegral(product.getIntegral());
    _product.get(0).setUnit(product.getUnit());
    _product.get(0).setIsRecommend(product.getIsRecommend());
    _product.get(0).setProductCategoryId(product.getProductCategoryId());
    _product.get(0).setProductCategoryName(product.getProductCategoryName());
    _product.get(0).setParameter(product.getParameter());
    _product.get(0).setIsInstock(product.getIsInstock());
    _product.get(0).setIsSell(product.getIsSell());
    productService.update(_product.get(0));
    }else{
    productService.save(product);
    }

    }
    }
         return APIMsgUtil.getResultMap(APIMsgUtil.SUCCESS, products,"导入成功");

    }


    这里会调用readExcelFile方法:

           // 总行数
    private static int TOTALROWS = 0;
    // 总条数
    private static int TOTALCELLS = 0;
    // 错误信息接收器
    private static String ERRORMSG;
    // 获取总行数
    public int getTOTALROWS() {
    return TOTALROWS;
    }
    // 获取总列数
    public int getTOTALCELLS() {
    return TOTALCELLS;
    }
    // 获取错误信息
    public String getErrorInfo() {
    return ERRORMSG;
    }


    public  List<Product> readExcelFile(MultipartFile file) throws Exception {
    String result = "";
    // 解析excel,获取上传的事件单
    List<Map<String, Object>> productList = ExcelReadUtil.getExcelInfo(file);
    // 至此已经将excel中的数据转换到list里面了,接下来就可以操作list,可以进行保存到数据库,或者其他操作,
    List<Product> products = new ArrayList<Product>();
    for (Map<String, Object> product : productList) {
      //循环插入
    Product _product = new Product();
    _product.setSn(product.get("sn").toString());
    _product.setName(product.get("name").toString());
    _product.setModelName(product.get("modelName").toString());
    _product.setColor(product.get("color").toString());
    _product.setLogo(product.get("logo").toString());
    BigDecimal modelCost = new  BigDecimal( product.get("modelCost").toString());
    BigDecimal modelPrice = new  BigDecimal( product.get("modelPrice").toString());
    _product.setModelCost(modelCost);
    _product.setModelPrice(modelPrice);
    _product.setWeight(Integer.parseInt(product.get("weight").toString()));
    _product.setLifeSpan(Integer.parseInt(product.get("lifeSpan").toString()));
    _product.setIntegral(Long.parseLong(product.get("integral").toString()));
    _product.setUnit(product.get("unit").toString());
    _product.setIsRecommend(Integer.parseInt(product.get("isRecommend").toString()));
    _product.setIsDelete(Integer.parseInt(product.get("isDelete").toString()));
    _product.setProductBrandId(null);
    _product.setProductCategoryId(Long.parseLong(product.get("productCategoryId").toString()));
    _product.setProductCategoryName(product.get("productCategoryName").toString());
    _product.setParameter(product.get("parameter").toString());
    _product.setIsInstock(Integer.parseInt(product.get("isInstock").toString()));
    _product.setIsSell(Integer.parseInt(product.get("isSell").toString()));
    System.out.println(product.get("sn").toString());
    products.add(_product);
    }
    if (products != null && !products.isEmpty()) {
    result = "导入成功";
    return products;
    } else {
    result = "导入失败";

    }
    return null;


    }


    /**
    * 根据excel里面的内容读取客户信息

    * @param is
    *            输入流
    * @param isExcel2003
    *            excel是2003还是2007版本
    * @return
    * @throws IOException
    */
    public static List<Map<String, Object>> createExcel(InputStream is,
    boolean isExcel2003) {
    try {
    Workbook wb = null;
    if (isExcel2003) {// 当excel是2003时,创建excel2003
    wb = new HSSFWorkbook(is);
    } else {// 当excel是2007时,创建excel2007
    wb = new XSSFWorkbook(is);
    }
    return readExcelValue(wb);// 读取Excel里面客户的信息
    } catch (IOException e) {
    e.printStackTrace();
    }
    return null;
    }


    public static List<Map<String, Object>> getExcelInfo(MultipartFile mFile) {
    String fileName = mFile.getOriginalFilename();// 获取文件名


    try {
    if (!ExcelReadUtil.validateExcel(fileName)) {// 验证文件名是否合格
    return null;
    }
    boolean isExcel2003 = true;// 根据文件名判断文件是2003版本还是2007版本
    if (isExcel2007(fileName)) {
    isExcel2003 = false;
    }
    return createExcel(mFile.getInputStream(), isExcel2003);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }


    /**
    * 读取Excel里面商品的信息

    * @param wb
    * @return
    */
    private static List<Map<String, Object>> readExcelValue(Workbook wb) {
    // 得到第一个shell
    Sheet sheet = wb.getSheetAt(0);
    // 得到Excel的行数
    ExcelReadUtil.TOTALROWS = sheet.getPhysicalNumberOfRows();
    // 得到Excel的列数(前提是有行数)
    if (TOTALROWS > 1 && sheet.getRow(0) != null) {
    ExcelReadUtil.TOTALCELLS = sheet.getRow(0).getPhysicalNumberOfCells();
    }
    List<Map<String, Object>> productList = new ArrayList<Map<String, Object>>();
    // 循环Excel行数
    //row为行标  cell为 竖标
    for (int r = 1; r < TOTALROWS; r++) {
    Row row = sheet.getRow(r);
    if (row == null) {
    continue;
    }
    // 循环Excel的列
    Map<String, Object> map = new HashMap<String, Object>();
    for (int c = 0; c < ExcelReadUtil.TOTALCELLS; c++) {
    Cell cell = row.getCell(c);
    if (null != cell) {
    if (c == 0) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("sn", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("sn", cell.getStringCellValue());
    }
    }
    if (c == 1) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("name", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("name", cell.getStringCellValue());
    }

    if (c == 2) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("modelName", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("modelName", cell.getStringCellValue());
    }
    }
    if (c == 3) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("color", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("color", cell.getStringCellValue());
    }
    }
    if (c == 4) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("logo", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("logo", cell.getStringCellValue());
    }
    }
    if (c == 5) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("modelCost", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("modelCost", cell.getStringCellValue());// 名称
    }
    }
    if (c == 6) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("modelPrice", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("modelPrice", cell.getStringCellValue());
    }
    }
    if (c == 7) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("weight", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("weight", cell.getStringCellValue());
    }
    }
    if (c == 8) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("lifeSpan", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("lifeSpan", cell.getStringCellValue());
    }
    }
    if (c == 9) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("integral", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("integral", cell.getStringCellValue());
    }

    if (c == 10) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("unit", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("unit", cell.getStringCellValue());
    }

    if (c == 11) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("isRecommend", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("isRecommend", cell.getStringCellValue());
    }
    }
    if (c == 12) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("isDelete", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("isDelete", cell.getStringCellValue());
    }
    }
    if (c == 13) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("productBrandId", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("productBrandId", cell.getStringCellValue());
    }
    }
    if (c == 14) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("productCategoryId", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("productCategoryId", cell.getStringCellValue());
    }
    }
    if (c == 15) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("productCategoryName", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("productCategoryName", cell.getStringCellValue());
    }
    }
    if (c == 16) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("parameter", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("parameter", cell.getStringCellValue());
    }
    }
    if (c == 17) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("isInstock", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("isInstock", cell.getStringCellValue());
    }
    if (c == 18) {
    if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
    String name = String.valueOf(cell.getNumericCellValue());
    map.put("isSell", name.substring(0,name.length() - 2 > 0 ? name.length() - 2: 1));
    } else {
    map.put("isSell", cell.getStringCellValue());
    }
    }
    }
    }
    // 添加到list
    productList.add(map);
    }
    return productList;
    }


    /**
    * 验证EXCEL文件

    * @param filePath
    * @return
    */
    public static boolean validateExcel(String filePath) {
    if (filePath == null
    || !(isExcel2003(filePath) || isExcel2007(filePath))) {
    ERRORMSG = "文件名不是excel格式";
    return false;
    }
    return true;
    }


    // @描述:是否是2003的excel,返回true是2003
    public static boolean isExcel2003(String filePath) {
    return filePath.matches("^.+\\.(?i)(xls)$");
    }


    // @描述:是否是2007的excel,返回true是2007
    public static boolean isExcel2007(String filePath) {
    return filePath.matches("^.+\\.(?i)(xlsx)$");
    }


    从excel读取数据的话 直接用的poi 。重要的是理解为什么这么做?   我是小白,希望对你们有帮助





    展开全文
  • System.out.println("**************商品入库**************"); System.out.println("请输入商品编号:"); int id=scanner.nextInt(); for (int i = 0; i (); i++) { if (TeetGoods.check(id)) { //有...
    package cn.kgc.goods;
    /**
     * 
     * @author vip宅男
     *
     */
    public class Goods {
    /**
    * 属性: 编号  名称  单价  单位  库存
    */

    private int id;
    private String name;
    private double price;
    private String uom;
    private int balance;
    /**
    * 获取编号
    * @return
    */

    public int getId() {
    return id;
    }
    /**
    * 设置编号
    * @param id
    */

    public void setId(int id) {
    this.id = id;
    }
    /**
    * 获取名称
    * @return
    */

    public String getName() {
    return name;
    }
    /**
    * 设置名称
    * @param name
    */

    public void setName(String name) {
    this.name = name;
    }
    /**
    * 获取单价
    * @return
    */

    public double getPrice() {
    return price;
    }
    /**
    * 设置单价
    * @param price
    */

    public void setPrice(double price) {
    this.price = price;
    }
    /**
    * 获取单位
    * @return
    */

    public String getUom() {
    return uom;
    }
    /**
    * 设置单位
    * @param uom
    */

    public void setUom(String uom) {
    this.uom = uom;
    }
    /**
    * 获取库存
    * @return
    */

    public int getBalance() {
    return balance;
    }
    /**
    * 设置库存
    * @param balance
    */

    public void setBalance(int balance) {
    this.balance = balance;
    }
    /**
    * 无惨构造
    */

    public Goods(){

    }
    /**
    * 带惨构造:初始化变量
    * @param id
    * @param name
    * @param price
    * @param uom
    * @param balance
    */

    public Goods(int id, String name, double price, String uom, int balance) {
    super();
    this.id = id;
    this.name = name;
    this.price = price;
    this.uom = uom;
    this.balance = balance;
    }

    }

    package cn.kgc.goods;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;
    /**
     * 
     * @author vip宅男
     *
     */
    public class TeetGoods {
    @SuppressWarnings("rawtypes")
    private static Map map=new HashMap<>();
    private static Scanner scanner=new Scanner(System.in);


    @SuppressWarnings("unchecked")
    public static void get(){
    Goods goods1 = new Goods(1001, "脉动水蜜桃", 7.0, "1.51", 50);
    Goods goods2 = new Goods(1002, "桃李熟切片", 6.5, "400g", 10); 
    Goods goods3 = new Goods(1003, "吉白芝麻油", 9.5, "125ml",20); 
    Goods goods4 = new Goods(1004, "雀巢奶咖啡", 1.5, "13g", 200); 
    Goods goods5 = new Goods(1005, "白玉黄豆芽", 2.4, "350g", 50); 
    map.put(goods1.getId(), goods1);
    map.put(goods2.getId(), goods2);
    map.put(goods3.getId(), goods3);
    map.put(goods4.getId(), goods4);
    map.put(goods5.getId(), goods5);
    }
    /**
    * 检测匹配id
    */

    public static boolean check(int id){
    if (!map.containsKey(id)) {
    //没有匹配的id
    return false;
    }else {
    //有匹配id
    return true;
    }
    }
    /**
    * 新增商品
    */

    @SuppressWarnings("unchecked")
    public static void add(){
    System.out.println("**************新增商品**************");
    System.out.println("请输入商品编号:");
    int id=scanner.nextInt();
    if (TeetGoods.check(id)) {
    //有匹配的id
    System.out.println("对不起,此商品已经存在!");
    }else {
    System.out.println("请输入商品名称:");
    String name=scanner.next();
    System.out.println("请输入商品单价:");
    double price=scanner.nextDouble();
    System.out.println("请输入商品单位:");
    String uom=scanner.next();
    System.out.println("请输入商品库存数量:");
    int balance=scanner.nextInt();
    Goods goods6=new Goods(id, name, price, uom, balance);
    map.put(goods6.getId(), goods6);
    System.out.println("新增成功!");
    }
    }
    /**
    * 显示商品信息
    */

    @SuppressWarnings("unchecked")
    public static void show(){
    System.out.println("**************商品显示**************");
    System.out.println("商品编号\t商品名称\t商品单价\t商品单位\t商品库存");
    Set<Map.Entry<Integer, Goods>> entrySet=map.entrySet();
    Iterator<Map.Entry<Integer, Goods>> it=entrySet.iterator();
    while(it.hasNext()){
    Map.Entry<Integer, Goods> entry=it.next();
    System.out.println(entry.getKey()+"\t");
    System.out.println(entry.getValue().getName()+"\t\t"+entry.getValue().getPrice()+"\t\t"+entry.getValue().getUom()+"\t\t"+entry.getValue().getBalance());
    }
    }
    /**
    * 入库
    */

    @SuppressWarnings("unused")
    public static void inStore(){
    System.out.println("**************商品入库**************");
    System.out.println("请输入商品编号:");
    int id=scanner.nextInt();
    for (int i = 0; i <map.size(); i++) {
    if (TeetGoods.check(id)) {
    //有匹配的id
    System.out.println("请输入库存量:");
    int count=scanner.nextInt();
    int c=((Goods)map.get(id)).getBalance()+count;
    ((Goods)map.get(id)).setBalance(c);
    break;
    }else {
    //没有匹配的id
    System.out.println("对不起,此商品不存在!");
    break;
    }
    }
    }
    /**
    * 出库
    */

    public void outStore(){
    System.out.println("**************商品出库**************");
    System.out.println("请输入商品编号:");
    int id=scanner.nextInt();
    for (int i = 0; i <map.size(); i++) {
    if (TeetGoods.check(id)) {
    //有匹配的id
    System.out.println("请输入出库数量:");
    int count=scanner.nextInt();
    if (count>((Goods)map.get(id)).getBalance()) {
    System.out.println("库存不足,出库失败");
    }else{
    int c=((Goods)map.get(id)).getBalance()-count;
    ((Goods)map.get(id)).setBalance(c);
    break;
    }
    }else {
    //没有匹配的id
    System.out.println("对不起,此商品不存在!");
    break;
    }
    }
    }
    }

    package cn.kgc.goods;
    /**
     * 
     * @author vip宅男
     *
     */
    public class TestGoods {
    @SuppressWarnings("static-access")
    public static void main(String[] args) {
    TeetGoods teet=new TeetGoods();
    teet.get();
    //teet.add();
    //teet.inStore();
    //teet.show();
    teet.outStore();
    teet.show();
    }
    }

    展开全文
  • Java商品信息查询

    2020-03-06 15:25:45
    假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品...

    使用一维数组和二维数组的相关知识,以及数组排序的多种算法来实现商品信息查询的功能。

    假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于 100 的商品名单,并将该类别的所有库存量按从低到高的顺序排列。

    代码如下:

    import java.util.Scanner;
    
    public class Test {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            String[] products = { "瓶子", "毛巾", "水杯", "牙膏", "香皂" };
            int[][] amounts = { { 50, 80, 90 }, { 40, 80, 78 }, { 50, 45, 789 }, { 100, 685, 55 }, { 898, 754, 63 },
                    { 99, 478, 685 } };
            System.out.println("*************** 库存系统 ***************");
            System.out.println("请输入要查询库存信息的商品名称:");
            String name = input.next();
            for (int i = 0; i < products.length; i++) {
                if (products[i].equals(name)) {
                    System.out.println("商品【" + products[i] + "】的库存信息如下:");
                    System.out.println("入库 \t 出库 \t 库存");
                    for (int j = 0; j < 3; j++) {
                        System.out.print(amounts[i][j] + "\t");
                    }
                    break;
                }
            }
            System.out.println("\n*************** 查询库存不足 100 的商品 ***************");
            System.out.println("1.入库 \t2.出库 \t3.库存");
            System.out.println("请输入序号:");
            int no = input.nextInt();
            int[] temp = new int[5]; // 定义数组,存储该类别的所有商品
            System.out.println("该类别下数量较少的商品有:");
            for (int i = 0; i < 5; i++) {
                temp[i] = amounts[i][no - 1]; // 将指定类别的所有商品名称存储到temp数组中
                if (amounts[i][no - 1] < 60) {
                    System.out.print(products[i] + "\t");
                }
            }
            // 使用冒泡排序,将商品的库存量以从低到高的顺序排列
            for (int i = 1; i < temp.length; i++) {
                for (int j = 0; j < temp.length - i; j++) {
                    if (temp[j] > temp[j + 1]) {
                        int x = temp[j];
                        temp[j] = temp[j + 1];
                        temp[j + 1] = x;
                    }
                }
            }
            System.out.println("\n该类别的商品库存信息从低到高的排列如下:");
            for (int i = 0; i < temp.length; i++) {
                System.out.print(temp[i] + "\t");
            }
        }
    }
    

    上例中,分别定义了一个一维数组和一个二维数组,用于存储商品的名称和对应的 3 个库存信息。接着根据名称可以查看该商品的库存信息,也可以查找某个库存中数量小于 100 的商品名称。最后,对指定的库存进行冒泡排序并输出。

    运行程序,执行结果如下所示。

    *************** 库存系统 ***************
    请输入要查询库存信息的商品名称:
    水杯
    商品【水杯】的库存信息如下:
    入库   出库   库存
    50 45 789
    *************** 查询库存不足 100 的商品 ***************
    1.入库  2.出库  3.库存
    请输入序号:
    1
    该类别下数量较少的商品有:
    瓶子 毛巾 水杯
    该类别的商品库存信息从低到高的排列如下:
    40 50 50 100 898
    

    在这里插入图片描述

    展开全文
  • JAVA商品信息查询的功能

    千次阅读 2019-05-10 17:15:04
    假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息。用户可以根据商品名称查询该商品...
  • 关注“Java艺术”一起来充电吧!在单机的Redis集群下,想要实现针对多个key的复杂原子操作有两种方法。一种是Watch+Multi,即监视器加事务...
  • 商品管理系统——Java实现

    万次阅读 多人点赞 2019-02-28 20:54:20
    功能要求: 完成“小商品管理系统”的架构设计 要求:利用集合存储若干商品... 商品入库(增加数量) 4. 商品出库(减少数量) 5. 修改商品价格 6. 所有产品的总价格(单价*数量) import java.util.ArrayList; impo...
  • 一、对于一个简单的实体类而言,比如学生类,商品类,订单类等,他们的属性只包含简单类型属性,我们通常的做法是直接入库保存各个字段或直接保存一个JsonString字符串,取出时直接查询转换即可。 1)比如查询出...
  • 商品提交JAVA

    2020-07-01 10:32:02
    上篇我们提到了多商品提交的小程序端,前端JS代码写完了现在我们来写后端代码.这里我的环境是JDK1.8+SpringBoot+Mybatis+MySql,那么就解决图片上传和删除的代码.因为不涉及到数据入库的操作.订单保存我相信大家都没...
  • (1)功能要求:可以管理个人中心、员工信息管理、部门信息管理、商品信息管理、客户信息管理、供应商信息管理、通知公告管理、管理员管理、商品出库管理、商品入库管理、商品报损管理等功能模块。 (2)性能:在...
  • 假设商品系统中,每件都有3个库存信息,分别是入库量、出库量、和当前库存量。定义一个一维数组来存储5建商品的名称,并定义一个二维数组来存储这5 件商品的3个库存信息 。用户可以根据商品名称查询该商品的所有库存...
  • java报告

    2012-01-02 20:55:45
    提供商品入库、出库、库存统计和查询等功能 。 来往管理:来往管理对企业进货和销售过程中产生的现金交易进行管理,及时反映出企业现金流的状况。提供原辅料入库结账、结账查询等等功能。 系统管理:这是系统管理员...
  • 入库出库的电子表格导入数据库,生成<库存余额表>,<库位库龄分析汇总表>等,具有用户管理,结账,导入商品基本信息,审核与取消审核等功能. 附源码,文档及测试数据,供感兴趣的同学修改完备.
  • 这款毕业设计作品很难得,网上很少有...这个进销存可以完成商品的查询及管理,可根据不同的时间段、不同的商品编码、进行相应的销售统计、商品进/出货、商品出/入库商品付款单、商品采购、会员卡的增、删、改、查等。
  • 为了管理好商店库存信息,提升店铺管理工作效率,结合实际工作需要,设计和开发本系统,主要用于商店商品信息维护出入库等。包含商品库存信息查看、商品信息修改,新增商品信息,删除信息等功能。 二、功能清单 1...
  • Java动态代理

    2016-11-29 13:51:00
    1、背景: ...该项目使用的C#语言,那里的机制叫委托,但是意思是一样的,主要实现目的就是在扫码之后通过扫描到的条码分类处理一系列逻辑,比如扫描入库单号之后加载入库单号对应的入库库位、商品、数量
  • Java过关测验

    2018-12-14 01:11:00
    库存物资管理系统一、背景资料:1、有一个存放商品的仓库,每天都有商品出库和入库。2、每种商品都有名称、生产厂家、型号、规格等。3、出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量...
  • 基于java的仓库管理系统

    千次阅读 2020-10-20 11:06:25
    本系统实现了对商品的库存管理,可注册商品(注册后可入库)、供应商注册,本系统还实现了商品出库、入库以及出入库查询、出入库记录、库存查询、库存记录,用户管理等功能。...并且采用了java的web技术servl
  • 这些主要功能模块分别是系统用户管理、用户信息管理、商品类别管理、仓库管理、商品信息管理、商品入库管理、销售出库管理等功能模块 1.管理员 管理员可以操作系统用户管理、用户信息管理、商品类别管理、仓库管理、...
  • java超市购物系统源码

    热门讨论 2011-12-02 00:37:25
    java超市购物系统源码 软件分前台收银和收台管理两大部分: ...商品出/入库 商品采购 商品付款单 新增商品---------用于录入超市原来没有的商品 会员卡的增,删,改,查 会员记录表中我只写了三条记录,详细信息看数据库表
  • Java酒店管理系统

    热门讨论 2008-09-09 11:03:49
    商品入库操作 F:系统管理 .系统策略管理 .系统权限管理 .新增用户操作 .用户资料管理 .删除房间记录 .删除收支记录 .系统基础设置(可设置酒店名称,及计费相关时间及规则) 页面模块化 .三层结构设计 程序逻辑结构分...
  • 内容索引:JAVA源码,综合应用,Java进...这个进销存可以完成商品的查询及管理,可根据不同的时间段、不同的商品编码、进行相应的销售统计、商品进/出货、商品出/入库商品付款单、商品采购、会员卡的增、删、改、查等。
  • Java 源码管理 java-mysql-html-jsp- java ...下载地址: ...超市管理员可点击库存管理可以查看各个批次的出入库信息,从商品编号、商品名称、单价、入库数量、总价等方面进行管理。 员工可以通过点击订单管理
  • 本系统实现了对商品的库存管理,可注册商品(注册后可入库)、供应商注册,本系统还实现了商品出库、入库以及出入库查询、出入库记录、库存查询、库存记录,用户管理等功能。...并且采用了java的web技术servl

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 152
精华内容 60
关键字:

java商品入库

java 订阅