电商系统的商品模块功能

简介

该系统包含五个类,一个商品类、商品方法实现类、管理员类、管理员管理类、主界面类。

  • 商品类(商品ID,商品名,类别名,单价,库存量,产地)
  • 管理员类(账户、密码)

实现功能

  1. 管理员登录(账号密码固定admin/admin)
  2. 修改管理员密码
  3. 商品添加
  4. 商品列表
  5. 查询指定id的商品
  6. 根据商品id删除商品
  7. 根据id修改指定商品的价格
  8. 根据id修改指定商品的库存
  9. 根据商品类别查询所有商品
  10. 查询指定价格区间的商品信息

实现方法

管理员类包括:
  • 管理员类属性: 账号、密码
  • 一个默认构造器、一个自定义构造器
  • 属性的set/get方法

public class Admin {

private String name;//账号
private String pw;//密码public Admin() {}
public Admin(String name, String pw) {super();this.name = name;this.pw = pw;
}public String getName() {return name;
}public void setName(String name) {this.name = name;
}public String getPw() {return pw;
}public void setPw(String pw) {this.pw = pw;
}

}

管理员管理类包括
  • 一个叫alist的集合来存储管理员数据
  • 一个用来初始化管理员的构造器
  • 判断管理员是否登入成功方法
  • 管理员修改密码的方法

public class AdminManage {

private ArrayList<Admin> alist = new ArrayList<>();
private Admin admin =null;
public  AdminManage() {alist.add(new Admin("admin","admin"));
}public Admin foreach()
{for(Admin a:alist){if(a != null)admin = a;}return admin;
}/***是否登入成功 */
public boolean sign(String name,String pw)
{foreach();//比较账号与密码是否相等if(name.equals(admin.getName()) && pw.equals(admin.getPw()) ){return true;}return false;
}/***修改密码 */
public void changePw(){Scanner sc = new Scanner(System.in);System.out.println("请输入旧的密码");//判断字符串是否相等if(admin.getPw().equals(sc.next()) ){System.out.println("请输入新的密码");admin.setPw(sc.next());return;}else{System.out.println("密码错误,请重新操作");changePw();}
}

}

商品类包括
  • 属性(商品ID,商品名,类别名,单价,库存量,产地)
  • 一个默认构造器和一个自定义构造器
  • 属性set/get/方法
  • toString的重写方法

public class Shopping {

private int id;
private String sname;//商品名
private String cname;//类别名
private int sal;//单价
private int count;//库存量
private String address;//产地public Shopping() {}public Shopping(int id, String sname, String cname, int sal, int count, String address) {super();this.id = id;this.sname = sname;this.cname = cname;this.sal = sal;this.count = count;this.address = address;
}public int getId() {return id;
}public void setId(int id) {this.id = id;
}public String getSname() {return sname;
}public void setSname(String sname) {this.sname = sname;
}public String getCname() {return cname;
}public void setCname(String cname) {this.cname = cname;
}public int getSal() {return sal;
}public void setSal(int sal) {this.sal = sal;
}public int getCount() {return count;
}public void setCount(int count) {this.count = count;
}public String getAddress() {return address;
}public void setAddress(String address) {this.address = address;
}@Override
public String toString() {return "商品id:" + id + "\t商品名:" + sname + "\t类别名:" + cname + "\t单价:" + sal + "\t库存量:" + count+ "\t产地:" + address +"\n";
}

}

商品管理类包括
  • 一个存放商品类的集合
  • 商品的增、删、改、查等功能的实现

public class ShoppingManager {

/*** 定义一个集合存放商品信息* */
static ArrayList<Shopping> list = new ArrayList<>();/*** 添加商品*/
public boolean add(Shopping s)
{//判断是否已存在商品id,存在则添加失败if(select(s.getId()) == null){list.add(s);return true;}return false;}/*** 根据id查找商品* */
public Shopping select(int id) {//给一个空的Shopping对象Shopping sg = null;//遍历集合for(Shopping s : list){//是否存在该商品的idif(s.getId() == id){sg = s;break;}}return sg;
}/*** 商品列表*/
public ArrayList<Shopping> selectAllShopping()
{return list;
}/*** 根据商品id删除商品* */
public boolean del(int id)
{//查询该id的商品信息Shopping s = select(id);//如果不为空if(s != null){//删除该信息list.remove(s);return true;}else//删除失败return false;
}/*** 根据商品id修改价格* */
public boolean changeSal(int id,int sal)
{//查询该id的商品信息Shopping s = select(id);if(s != null){s.setSal(sal);return true;}return false;
}/*** 根据商品id修改库存* */
public boolean changeCount(int id,int count)
{//查询该id的商品信息Shopping s = select(id);if(s != null){s.setCount(count);return true;}return false;
}/*** 根据商品类别查询所有商品* */
public ArrayList<Shopping> selectByCname(String cname)
{//给一个新的集合来存放数据ArrayList<Shopping> sg = new ArrayList<>();//遍历集合for(Shopping s:list ){if(s != null && s.getCname().equals(cname)){sg.add(s);}}return sg;
}/***查询指定价格区间的商品信息 */
public ArrayList<Shopping> selectBySal(int lSal,int hSal)
{//给一个新的集合来存放数据ArrayList<Shopping> sg = new ArrayList<>();//判断2个值大小排序if(lSal > hSal){int i =lSal;lSal =hSal;hSal = i;}for(Shopping s :list){if(s.getSal() > lSal && s.getSal() < hSal){sg.add(s);}}return sg;}

}

public class ShoppingClient {

private ShoppingManager sm = new ShoppingManager();
private AdminManage am  =new AdminManage();
Scanner sc;/**菜单*/
public void menu(){p("1请登入");p("0退出");start();
}/***开始*/
private void start() {sc = new Scanner(System.in);int i = sc.nextInt();switch(i){case 1:if(dengru()){shoppingMune();}else{p("登入失败,请重新登入");menu();}break;case 0:exit();break;case 2:add();break;default:p("请输入正确指令");break;}//menu();}
主界面
  • 商品类以及管理员类功能的实现

  • 定义了一个p(Object obj)的输出方法

  • 大量使用了方法的调用、switch选择、p()实现

    //商品菜单
    private void shoppingMune() {p("1修改密码");p("2添加商品");p("3商品列表");p("4查询指定id的商品");p("5删除商品");p("6修改商品价格");p("7修改商品库存");p("8查询商品类所有商品信息");p("9查询区间类所有商品");p("0返回");sc = new Scanner(System.in);int j = sc.nextInt();switch(j){case 1://修改密码am.changePw();break;case 2://添加商品add();break;case 3://商品列表showAll();break;case 4://根据id查询商品信息showById();break;case 5://删除商品delete();break;case 6://修改商品价格changeSalById();break;case 7://修改商品库存changeCountById();break;case 8://查询商品类所有信息selectAllByCname();break;case 9://查询区间内的商品selectAreaOfSal();case 0:menu();break;default:p("输入错误");break;}shoppingMune();}/***/
    private void selectAreaOfSal() {sc = new Scanner(System.in);p("请输入要查询的商品的区间[1-100]");String[] s = sc.nextLine().split("-");p("-----------------------------------------");p(sm.selectBySal(Integer.parseInt(s[0]), Integer.parseInt(s[1])));p("-----------------------------------------");}/**查询商品类所有信息*/
    private void selectAllByCname() {sc = new Scanner(System.in);p("请输入要查询的商品类[电子]");p("-----------------------------------------");p(sm.selectByCname(sc.next()));p("-----------------------------------------");
    }/**通过id修改商品库存*/
    private void changeCountById() {sc = new Scanner(System.in);p("请输入要指定修改的商品id以及要修改库存【1-1900】");String[] arr=sc.nextLine().split("-");if(sm.changeCount(Integer.parseInt(arr[0]), Integer.parseInt(arr[1]))){p("-----------------------------------------");p("修改成功,信息如下");p("-----------------------------------------");p(sm.select(Integer.parseInt(arr[0])));p("-----------------------------------------");}else{p("-----------------------------------------");p("没有改商品的id信息,修改失败");p("-----------------------------------------");}}/**通过id修改商品价格*/
    private void changeSalById() {sc = new Scanner(System.in);p("请输入要指定修改的商品id以及修改的价格[1-1900]");String[] arr=sc.nextLine().split("-");if(sm.changeSal(Integer.parseInt(arr[0]), Integer.parseInt(arr[1]))){p("-----------------------------------------");p("修改成功,信息如下");p("-----------------------------------------");p(sm.select(Integer.parseInt(arr[0])));p("-----------------------------------------");}else{p("-----------------------------------------");p("没有改商品的id信息,修改失败");p("-----------------------------------------");}
    }/**根据id删除商品*/
    private void delete() {sc = new Scanner(System.in);p("请输入要删除的商品id");if(sm.del(sc.nextInt())){p("-----------------------------------------");p("商品删除成功");p("-----------------------------------------");}else{p("-----------------------------------------");p("没有该商品信息,删除失败");p("-----------------------------------------");}
    }/**查询所有商品信息*/
    private void showAll() {p("-----------------------------------------");p(sm.selectAllShopping());p("------------------------------------------");
    }/**根据id查询信息*/
    private void showById() {sc = new Scanner(System.in);p("请输入要查询的商品id");int id = sc.nextInt();p("信息如下:");p("----------------------");p(sm.select(id));p("----------------------");}/**添加商品*/
    private void add() {p("请输入商品信息[1-手机-电子-5000-10000-中国]");sc = new Scanner(System.in);String s = sc.nextLine();/**根据“-”截取商品信息*/String[] info = s.split("-");if(sm.select(Integer.parseInt(info[0])) != null){p("该编号的商品已经存在,请重新输入");add();return;}else{Shopping sp = new Shopping(Integer.parseInt(info[0]), info[1], info[2],Integer.parseInt(info[3]), Integer.parseInt(info[4]),info[5]);sm.add(sp);p("添加成功");}
    }/**退出*/
    private void exit() {sc = new Scanner(System.in);p("是否退出");String op = sc.next();if(op.equalsIgnoreCase("y")){p("谢谢使用");System.exit(1);}
    }

/*
*登入判断
*/
public boolean dengru(){

 ArrayList<Admin> admin = new ArrayList();p("请输入账号与密码[admin/admin]");sc = new Scanner(System.in);// 以空格为分隔String[] arr=sc.nextLine().split("/");Admin a = new Admin(arr[0], arr[1]);admin.add(a);for(Admin e : admin){if(e != null){return    am.sign(e.getName(),e.getPw());}}return false;
}/**打印方法*/
public void p(Object obj){System.out.println(obj);
}/**主函数*/
public static void main(String[] args) {new ShoppingClient().menu();
}

}

简单Java的商品模块功能相关推荐

  1. 真香!推荐一个超级简单 Java 图形验证码模块

    简介 Java图形验证码,支持Gif.中文.算术等类型,可用于Java Web.JavaSE等项目. 效果展示 集成项目 maven方式引入: <dependencies><depe ...

  2. java 电商 插件 开发_JAVA项目实战开发电商项目案例(六与七)商品分类与商品模块管理开发...

    购物网站中,商品管理板块也是重要的一个版块,下面我会从后台管理系统和前台管理页面去讲述购物网站商品模块功能的开发. 1演示效果 1.1前台演示地址演示地址 1.2后台演示地址演示地址 2商品分类功能 ...

  3. JAVA WEB商品后台管理系统开发

    JAVA WEB商品后台管理系统开发 前言 1.本实例采用eclips javaee做开花环境,利用java开发商品后台功能实现,利用jsp做前端显示页面.运行在tomcat服务器上. 2.实现了商品 ...

  4. 生鲜配送ERP系统_对商品模块数据模型与界面设计的思考【Java 开源版】杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝

    生鲜配送ERP系统_对商品模块数据模型与界面设计的思考及简要分析[Java 开源版]杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝 一直在研究与改造自己的生鲜配送系统,越来越觉得后 ...

  5. 【WebRTC】在Android上用NDK编译WebRtc音频增益模块(AGC),降噪(NS),java调用JNI实现功能

    目录 ·········前言 ·········前期工作 ·········编译工作 ·········编码工作(AGC-JAVA) ·········编码工作(AGC-JNI) ·········编 ...

  6. python操作微信电脑版_Python使用itchat模块实现简单的微信控制电脑功能示例

    本文实例讲述了Python使用itchat模块实现简单的微信控制电脑功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import request ...

  7. python 微信模块_Python使用itchat模块实现简单的微信控制电脑功能示例

    本文实例讲述了python使用itchat模块实现简单的微信控制电脑功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import request ...

  8. java怎么实现复制粘贴的操作,java简单实现复制 粘贴 剪切功能代码分享

    废话不多说,直接上代码,小伙伴们仔细看下注释吧. /*简单的复制 剪切 粘贴 功能 操作: 复制测试: 输入文本选择文本,点击复制,然后将光标放在右边的TextArea,点击粘贴 剪切测试:输入文本选 ...

  9. Java 实现简单的签到领金币功能

    Java实现简单的签到领金币功能 简介 现在很多APP上都会有签到的功能,签到领金币或者领积分等等.最近也正好遇到了一个这样的业务,并且规则是连续签到每天的金币不一样,要是断了,再签到的话重新从第一天 ...

最新文章

  1. 作用域,上下文,闭包
  2. Redis的简单实践
  3. 使用 Castal DynamicProxy 简化 Silverlight 数据绑定
  4. 11、mybatis返回List
  5. 数据库开发——MySQL——单表查询
  6. SON Web Token设计单点登录系统
  7. idea创建springcloud主工程和springboot子项目
  8. 16重新安装HA0.63
  9. go 跨平台编译linux,golang 跨平台编译
  10. 谷歌安全研究员发现3个 Apache Web 服务器软件缺陷
  11. python 获取文件大小_Python解决女朋友看电影没字幕的需求
  12. UPS电源设备消防与电气安全要求
  13. Ext3、Ext4、FAT、FAT32、NTFS、exFAT、Sparse、Raw
  14. 【C++札记】类的分离式写法
  15. Android Studio报错--Error: Library projects cannot set applicationId. applicationId is set to ...
  16. 2019张小龙微信公开课精华整理(未完待续....)
  17. matlab中Ctphi什么意思,信号在matlab中的表示
  18. 组成原理(五)CPU指令流水线
  19. net framework 4.0 4.6.1
  20. 西门子S7-1200、1500 PLC远程上下载程序的方法

热门文章

  1. 【宽创案例】青海牦牛文化馆:走进牦牛之都!
  2. docker:虚拟化和docker容器概念
  3. FPGA DVB-S2 FEC 信道译码 BCH译码器 LDPC译码器 解交织器 IP core
  4. 第05课:Redis 实际应用中的异常场景及其根因分析和解决方案
  5. 如何正确的使用 Service?
  6. 别混淆区别很大 LED网格屏和格栅屏区别对比及分析
  7. C语言的逻辑右移和算术右移
  8. c# 实现语音播报功能 转发
  9. 如何在生产环境mysql删除亿万级数据解并且不影响数据库主从延迟的解决方案
  10. C# PDF附件生成