java设计的电脑销售系统

简介: java设计的电脑销售系统

电脑销售系统课程设计报告

一、开发背景

随着经济和计算机技术的快速发展,移动银行和网上电子支付等业务也逐渐的发展起来,网上购物也变成了一种常态。在这一背景之下,我们开始研究一个java的课程程序报告,关于电脑销售系统。

二、系统需求分析

现要开发一个电脑销售系统,主要有顾客和管理员两个实体,和实现查询电脑信息,添加电脑信息,修改电脑信息,删除电脑信息,生成顾客购买信息和删除顾客购买信息。管理员可以根据需求对电脑信息进行增添查改和对顾客购买信息的删除。顾客可以通过顾客购买界面购买电脑。

三、系统功能模块设计

3.1 系统模块设计

1:系统模块设计图

3.2 模块说明

1、查看电脑信息模块

图2:查看电脑信息模块图

功能描述:此模块的主要功能是实现管理员查看电脑信息,输入相应编号,就能查看电脑信息

输入:相应编号

输出:电脑品牌、价格、库存

2、查询顾客购买信息模块

功能描述:此模块的主要功能是实现顾客购买后查询购买的信息,输入相应编号,输入姓名和电话,如果姓名和电话是正确的就可以查看信息

图3:查看顾客购买信息模块图

输入:相应编号 姓名,电话

输出:姓名,性别,电话,购买品牌,购买台数

3、修改电脑信息模块

图4:修改电脑信息模块图

功能描述:此模块的主要功能是实现管理员修改电脑信息,输入相应编号,输入要修改的品牌,输入修改后的品牌,价格,库存就能完成修改。

输入:相应编号 修改前的品牌名,修改后的品牌名,修改后的价格,修改后的库存

输出:修改成功

4、添加电脑信息模块

图5:添加电脑信息模块图

功能描述:此模块的主要功能是实现管理员添加电脑信息,输入相应编号,输入要添加的品牌,价格和库存来完成添加电脑信息

输入:相应编号 要添加的品牌名,价格和库存

输出:添加成功

  1. 删除电脑信息模块

图6:删除电脑信息模块图

功能描述:此模块的主要功能是实现管理员删除电脑信息,输入相应编号,输入要删除的电脑品牌名来删除电脑信息

输入:相应编号 要删除的电脑品牌

输出:删除成功

  1. 删除顾客购买信息模块

图7:删除顾客购买信息模块图

功能描述:此模块的主要功能是实现管理员删除顾客购买信息,输入相应编号,输入要删除的顾客名

输入:相应编号,要删除的顾客名

输出:删除成功

  1. 购买电脑模块

图8:购买电脑信息模块图

功能描述:此模块的主要功能是实现顾客购买电脑,顾客输入相应的编号,输入要购买的电脑品牌,输入姓名,性别,电话,和要购买的电脑数量

输入:相应编号,电脑脑品牌,姓名,性别,电话,购买的台数

输出:购买成功,共消费金额

四、详细设计

1、电脑(Computer)类

类名:Computer

继承父类:无

实现接口:无

概述:定义电脑属性

属性及说明:brand(品牌)、price(价格)、inventory(库存);用来设置电脑的品牌,价格,库存

方法及说明:无

2、顾客(Customer)类

类名:Customer

继承父类:无

实现接口:无

概述:定义顾客属性

属性及说明:name(姓名) sex(性别) phone(电话)

方法及说明:无

3、信息(Infor)类

类名:Infor

继承父类:无

实现接口:无

概述:定义顾客购买的电脑品牌和数量

属性及说明:num_com(数量) cBrand(购买的品牌名)

方法及说明:无

4、操作(Order)类

类名:Order

继承父类:无

实现接口:无

概述:实现对数据的处理

属性及说明:所有属性都在Computer类、Customer类和Infor类中

方法及说明:包含menu();(主菜单) 、 admin(); (管理员界面) 、 customer()( 顾客界面)、operation();(选择功能编号)、addCom();(管理员添加电脑信息)、delCom();(管理员删除电脑信息)、chaCom();(管理员删除电脑信息)、viewCom();(管理员查看电脑信息)、add();(添加顾客信息购买电脑)、view();(管理员查询顾客购买信息)、deladd();(管理员删除顾客购买信息)、

方法

功能

menu()方法

显示主菜单。

ooperation()方法

根据输入的值判断来实现哪种功能

add()方法

利用循环将顾客信息加入数组

view()方法

根据数组显示顾客购买信息

admin()方法

显示管理员界面,根据输入的编号进入不同的功能页面

customer()方法

显示顾客界面,根据输入的编号进入不同的功能页面

addCom()方法

管理员输入电脑的品牌,价格和库存来完成添加电脑信息

delCom()方法

管理员输入电脑的品牌来删除电脑信息

chaCom()方法

管理员输入原品牌名确定要修改的品牌,输入修改后的品牌名,价格和库存来完成修改电脑信息

viewCom()方法

输出已经添加并且没有被删除的电脑信息

deladd()方法

管理员输入已经购买过电脑的顾客名来删除该顾客的购买信息

5、测试(Demo)类

类名:Demo

继承父类:无

实现接口:无

概述:实现函数的调用

属性及说明:定义一个Order o = new Order();的对象,通过对象调用operation()方法。

五、系统实现

1、主界面

图9:主界面图

运行之后,可以看见输出的菜单,从键盘输入相应编号执行相应功能,如输入1就进入管理员界面,输入2就进入顾客界面,输入0则退出系统

2、添加电脑信息模块模块

图10:添加电脑信息图

输入1,输入要添加的电脑品牌,价格和库存

输出添加成功

3、查看电脑信息模块

图11:查询电脑信息图

输入1,进入查看电脑信息界面

输出 品牌,价格和库存列表

4、修改电脑信息模块

图12:修改电脑信息图

输入3 ,输入要存在的电脑品牌用来确定修改,输入修改后的品牌名,价格和库存

输出 修改成功

5、购买电脑信息模块

图13:购买电脑信息图

输入1 输入要购买的品牌,输入顾客姓名,性别,电话和购买的台数

输出购买成功 共消费金额

6、查询购买信息模块

图14:查询购买信息图

输入5 ,进入查询顾客购买信息界面

输出 如果没有顾客信息将返回主界面,顾客姓名,性别,购买品牌,购买台数

7、删除购买信息模块

图15:删除购买信息图

输入6 输入要删除的顾客名字

输出 删除成功

8、删除电脑信息模块

图16:删除电脑信息图

输入4 输入列表中已存在的电脑品牌

输出 删除成功

附录:系统源代码

1 Computer

package task2;

public class Computer {

     //品牌

     String brand;

     //价格

     int price;

     //库存

     int inventory;

   public String getBrand() {

            return brand;

     }

     public void setBrand(String brand) {

            this.brand = brand;

     }

     public int getPrice() {

            return price;

     }

     public void setPrice(int price) {

            this.price = price;

     }

     public int getInventory() {

            return inventory;

     }

     public void setInventory(int inventory) {

            this.inventory = inventory;

     }

     public Computer(String brand, int price, int inventory) {

            super();

            this.brand = brand;

            this.price = price;

            this.inventory = inventory;

     }

     public Computer() {

            // TODO 自动生成的构造函数存根

     }

2 Customer

public class Customer  {

     //名字

     String name;

   //姓名

     String sex;

   //电话

     String phone;    

public Customer() {

            // TODO 自动生成的构造函数存根

     }

public Customer(String name, String sex, String phone) {

            super();

            this.name = name;

            this.sex = sex;

            this.phone = phone;

   

     }

public String getName() {

            return name;

     }

     public void setName(String name) {

            this.name = name;

     }

     public String getSex() {

            return sex;

     }

     public void setSex(String sex) {

            this.sex = sex;

     }

     public String getPhone() {

            return phone;

     }

     public void setPhone(String phone) {

            this.phone = phone;

     }

}

3 Order

package task2;

import java.util.Scanner;

public class Order extends Infor {

//电脑数组

     private Computer[] computers = new Computer[100];

     // 电脑数

     private int com = 0;

//顾客数组

     private Customer[] customers = new Customer[100];

//顾客数

     private int count = 0;

//顾客购买台数数组

     private Infor[] num_com = new Infor[10000];

     // 顾客购买台数

     private int ncom = 0;

     // 顾客购买品牌数组

     private Infor[] cus_brand = new Infor[100];

     // 顾客购买品牌

     int cbrand = 0;

     Scanner sc = new Scanner(System.in);

     public void menu() {// 显示菜单方法

            System.out.println("欢迎进入电脑销售系统");

            System.out.println(" 1.管理员登录 ");

            System.out.println(" 2.顾客登录 ");

            System.out.println(" 0.退出系统 ");

     }

     // 管理员界面

     public void admin() {

            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("0.返回主界面");

            int q = sc.nextInt();

            switch (q) {

            case 1:

                   // 查看电脑信息

                   viewCom();

                   break;

            case 2:

                   // 添加电脑信息

                   addCom();

                   break;

            case 3:

                   // 修改电脑信息

                   chaCom();

                   break;

            case 4:

                   // 删除电脑信息

                   delCom();

                   break;

            case 5:

                   // 查看顾客购买信息

                   view();

                   break;

            case 6:

                   // 删除顾客购买信息

                   deladd();

                   break;

            case 0:

                   return;

            }

     }

     // 顾客界面

     public void customer() {

            System.out.println("1.购买电脑");

            System.out.println("0.返回主界面");

            int q = sc.nextInt();

            switch (q) {

            case 1:

                   add();

                   break;

            case 0:

                   return;

            }

     }

//管理员添加电脑信息

     public void addCom() {

            System.out.println("请输入添加的电脑品牌");

            String brand = sc.next();

            System.out.println("请输入添加的电脑价格");

            int price = sc.nextInt();

            System.out.println("请输入添加的电脑库存");

            int inventory = sc.nextInt();

            computers[com] = new Computer(brand, price, inventory);

            com++;

            System.out.println("添加成功");

     }

//管理员删除电脑

     public void delCom() {

            if (com == 0) {

                   System.out.println("当前未录入电脑");

            } else {

                   viewCom();

                   System.out.println("请输入要删除的电脑品牌");

                   String brand = sc.next();

                   for (int i = 0; i < com; i++) {

                          if (!brand.equals(computers[i].brand)) {

                                 System.out.println("该电脑不存在");

                                 return;

                          } else if (brand.equals(computers[i].brand)) {

                                 // 定义临时变量存放即将删除的品牌

                                 String temp1 = computers[i].getBrand();

                                 // 定义临时变量存放数组最后一个品牌

                                 String temp2 = computers[com - 1].getBrand();

                                 // 最后一个赋值给要删除的

                                 computers[i] = computers[com - 1];

                                 // 纠正要删除的

                                 computers[i].setBrand(temp1);

                                 ;

                                 // 纠正最后一个

                                 computers[com - 1].setBrand(temp2);

                                 com--;

                                 System.out.println("删除成功");

                          }

                   }

            }

     }

//管理员修改电脑

     public void chaCom() {

            if (com == 0) {

                   System.out.println("当前未录入电脑");

            } else {

                   viewCom();

                   System.out.println("请输入要修改的电脑品牌");

                   String brand = sc.next();

                   for (int i = 0; i < com; i++) {

                          if (!brand.equals(computers[i].brand)) {

                                 System.out.println("该电脑不存在");

                                 return;

                          } else {

                                 System.out.println("请输入修改后的品牌名");

                                 String chabrand = sc.next();

                                 System.out.println("请输入修改后的价格");

                                 int chaprice = sc.nextInt();

                                 System.out.println("请输入修改后的库存");

                                 int chainventory = sc.nextInt();

                                 computers[i].brand = chabrand;

                                 computers[i].price = chaprice;

                                 computers[i].inventory = chainventory;

                                 System.out.println("修改成功");

                          }

                   }

            }

     }

//管理员查看电脑

     public void viewCom() {

            int i;

            System.out.println("品牌\t" + "价格\t" + "库存");

            for (i = 0; i < com; i++) {

                   System.out.println(

                                 computers[i].getBrand() + "\t" + computers[i].getPrice() + "\t" + computers[i].getInventory());

            }

            if (i == 0) {

                   System.out.println("当前未录入电脑");

            }

     }

     public void operation() {

            int choice = 0;// 选项

            do {

                   menu();

                   System.out.print("请选择您要进行的操作:");

                   choice = sc.nextInt();

                   while (choice < 0 || choice > 2) {

                          System.out.println("无效操作!");

                          System.out.print("请重新选择您要进行的操作:");

                          choice = sc.nextInt();

                   }

                   switch (choice) {

                   // 管理员界面

                   case 1:

                          admin();

                          break;

                   // 顾客界面

                   case 2:

                          customer();

                          break;

                   case 0: // 退出系统

                          break;

                   }

            } while (choice != 0);

            System.out.println("退出系统");

     }

//添加顾客信息购买电脑

     public void add() {

            String brand;

            do {

                   System.out.println("请输入您要买的品牌");

                   brand = sc.next();

                   if (brand.equals("0")) {

                          break;

                   }

                   for (int i = 0; i < computers.length; i++) {

                          if (brand.equals(computers[i].brand) && computers[i].inventory != 0) {

                                 System.out.println("请输入您的姓名");

                                 String name = sc.next();

                                 System.out.println("请输入您的性别");

                                 String sex = sc.next();

                                 System.out.println("请输入您的电话");

                                 String phone = sc.next();

                                 System.out.println("请输入您要购买几台");

                                 int num = sc.nextInt();

                                 if (num > computers[i].inventory) {

                                        System.out.println("对不起,您要购买的数量超过库存");

                                        return;

                                 } else {

                                        customers[count] = new Customer(name, sex, phone);

                                        count++;

                                        num_com[ncom] = new Infor(num);

                                        ncom++;

                                        computers[i].inventory -= num;

                                        cus_brand[cbrand] = new Infor(brand);

                                        cbrand++;

                                        System.out.println("购买成功,共消费" + computers[i].price * num + "元");

                                        return;

                                 }

                          }

                   }

                   System.out.println("输入的品牌不存在或库存不足,请重新输入或输入0退出");

            } while (true);

     }

//删除顾客购买信息

     public void deladd() {

            if (cbrand == 0) {

                   System.out.println("当前没有顾客购买信息");

            } else {

                   view();

                   System.out.println("请输入要删除的顾客");

                   String name = sc.next();

                   for (int i = 0; i < cbrand; i++) {

                          if (!name.equals(customers[i].name)) {

                                 System.out.println("没有该顾客");

                                 return;

                          } else {

                                 customers[i].setName(null);

                                 cbrand--;

                                 System.out.println("删除成功");

                          }

                   }

            }

     }

//查询购买信息

     public void view() {

     System.out.println("如果没有顾客购物信息将返回主界面");

            for (int i = 0; i < count; i++) {

                    {        

                          System.out.println("姓名:"+customers[i].name + "\t"+"性别:"+ customers[i].sex + "\t"+"电话" + customers[i].phone + "\t"

                                 +"购买品牌:"   + cus_brand[i].cBrand + "\t"+"购买台数" + num_com[i].num_com);

                   }

            }

     }

}

4 Demo

package task2;

public class Demo {

public static void main(String[] args) {

     Order o = new Order();

     o.operation();

     }

}

5 Demo

public class Infor {

     //购买台数

     int num_com;

     public Infor(int num_com) {

            super();

            this.num_com = num_com;

     }

   

   

     //购买品牌

     String cBrand;

     public Infor(String cBrand) {

            super();

            this.cBrand = cBrand;

     }

     public int getNum_com() {

            return num_com;

     }

     public void setNum_com(int num_com) {

            this.num_com = num_com;

     }

     public String getcBrand() {

            return cBrand;

     }

     public void setcBrand(String cBrand) {

            this.cBrand = cBrand;

     }

     public Infor() {

            // TODO 自动生成的构造函数存根

     }

代码:https://download.csdn.net/download/weixin_55771290/87880740

相关文章
|
6天前
|
JavaScript Java BI
Java毕设之新生报到系统的设计与实现
Java毕设之新生报到系统的设计与实现
13 3
|
3天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
14 5
|
3天前
|
数据采集 前端开发 Java
Java医院绩效考核系统源码maven+Visual Studio Code一体化人力资源saas平台系统源码
医院绩效解决方案包括医院绩效管理(BSC)、综合奖金核算(RBRVS),涵盖从绩效方案的咨询与定制、数据采集、绩效考核及反馈、绩效奖金核算到科到组、分配到员工个人全流程绩效管理;将医院、科室、医护人员利益绑定;全面激活人才活力;兼顾质量和效益、长期与短期利益;助力医院降本增效,持续改善、优化收入、成本结构。
14 0
|
4天前
|
存储 Java API
java对接IPFS系统-以nft.storage为列
java对接IPFS系统-以nft.storage为列
13 2
|
4天前
|
监控 前端开发 Java
Java基于B/S医院绩效考核管理平台系统源码 医院智慧绩效管理系统源码
医院绩效考核系统是一个关键的管理工具,旨在评估和优化医院内部各部门、科室和员工的绩效。一个有效的绩效考核系统不仅能帮助医院实现其战略目标,还能提升医疗服务质量,增强患者满意度,并促进员工的专业成长
17 0
|
4天前
|
Java 云计算
Java智能区域医院云HIS系统SaaS源码
云HIS提供标准化、信息化、可共享的医疗信息管理系统,实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。优化就医、管理流程,提升患者满意度、基层首诊率,通过信息共享、辅助诊疗等手段,提高基层医生的服务能力构建和谐的基层医患关系。
30 2
|
5天前
|
前端开发 Java 关系型数据库
Java医院绩效考核系统源码B/S架构+springboot三级公立医院绩效考核系统源码 医院综合绩效核算系统源码
作为医院用综合绩效核算系统,系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
27 2
|
6天前
|
JavaScript 小程序 Java
基于java的少儿编程网上报名系统
基于java的少儿编程网上报名系统
11 2
|
6天前
|
JavaScript 小程序 Java
Java毕设之在线医疗服务系统的设计与实现
Java毕设之在线医疗服务系统的设计与实现
12 3
|
6天前
|
JavaScript 小程序 Java
Java毕设之KTV点歌系统
Java毕设之KTV点歌系统
15 2