/**

设计家电销售管理系统,实现以下功能:

(1)给4类家电各输入3个品牌的电器型号、价格和库存;

(2)统计每类家电的平均价格,最高价和最低价;

(3)将4类家电按平均价格降序排序;

(4)统计每类电器高于平均价格和低于平均价格的电器数量;

(5)输入电器型号查询电器的价格和库存。

*/

package com.tool.example;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class TestSale {

private static List productList = new ArrayList();// 产品集合

private static List categoryList = new ArrayList();// 分类集合

public static void main(String[] args) {

init();

System.out.println("统计每类家电的平均价格,最高价和最低价;");

categoryAvgMaxMinPrice();

System.out.println("---------------------------------------------------------------------");

System.out.println("将4类家电按平均价格降序排序;");

avgDesendingSort();

System.out.println("---------------------------------------------------------------------");

System.out.println("统计每类电器高于平均价格和低于平均价格的电器数量;");

caculateCount();

System.out.println("---------------------------------------------------------------------");

System.out.println("输入电器型号查询电器的价格和库存;");

searchByModel("Sony1000");

}

public static void init() {

// (1)给4类家电各输入3个品牌的电器型号、价格和库存;

Category colorTVCategory=new Category("彩电 ");

Category refrigeratorCategory=new Category("冰箱 ");

Category washingCategory=new Category("洗衣机 ");

Category fanCategory=new Category("电风扇");

categoryList.add(colorTVCategory);

categoryList.add(refrigeratorCategory);

categoryList.add(washingCategory);

categoryList.add(fanCategory);

productList.add(new Product(colorTVCategory, "Sony1000", 5000, 100));

productList.add(new Product(colorTVCategory, "Sony1001", 5500, 50));

productList.add(new Product(colorTVCategory, "Sony1002", 3500, 30));

productList.add(new Product(refrigeratorCategory, "Haier1000", 4500, 30));

productList.add(new Product(refrigeratorCategory, "Haier1001", 1500, 30));

productList.add(new Product(refrigeratorCategory, "Haier1002", 2500, 30));

productList.add(new Product(washingCategory, "Haier2001", 1500, 20));

productList.add(new Product(washingCategory, "Haier2002", 1300, 10));

productList.add(new Product(washingCategory, "Haier2002", 1100, 10));

productList.add(new Product(fanCategory, "Dongfeng1000", 500, 10));

productList.add(new Product(fanCategory, "Dongfeng1001", 600, 20));

productList.add(new Product(fanCategory, "Dongfeng1002", 800, 20));

}

// (2)统计每类家电的平均价格,最高价和最低价;

public static void categoryAvgMaxMinPrice() {

for (int i = 0; i < categoryList.size(); i++)

{

Category category=categoryList.get(i);

List list = category.getProductList();

double total = 0; // 总价格

double avg = 0; // 平均值

double min = list.get(0).getPrice();// 最小值

double max = 0;// 最大值

for (int j = 0; j < list.size(); j++) {

Product product = list.get(j);

total += product.getPrice();

if (min > product.getPrice()) {

min = product.getPrice();

}

if (max < product.getPrice()) {

max = product.getPrice();

}

}

avg = total / list.size();

category.setAvg(avg);

category.setMax(max);

category.setMin(min);

System.out.println(category.getName() + " : 平均价格=" + avg + " , 最高价=" + max+ " , 最低价=" + min);

}

}

// (3)将4类家电按平均价格降序排序;

public static void avgDesendingSort() {

Collections.sort(categoryList);

for (int i = 0; i < categoryList.size(); i++) {

Category category = categoryList.get(i);

System.out.println(category.getName() + " : " + category.getAvg());

}

}

// (4)统计每类电器高于平均价格和低于平均价格的电器数量;

public static void caculateCount() {

for (int i = 0; i < categoryList.size(); i++) {

Category category = categoryList.get(i);

List productList = category.getProductList();

int greaterAvgCount = 0;// 高于平均价格的电器数量

int lessAvgCount = 0;// 低于平均价格的电器数量

for (int j = 0; j < productList.size(); j++) {

Product product = productList.get(j);

if (product.getPrice() > category.getAvg()) {

greaterAvgCount++;

}

if (product.getPrice() < category.getAvg()) {

lessAvgCount++;

}

}

category.setGreaterAvgCount(greaterAvgCount);

category.setLessAvgCount(lessAvgCount);

System.out.println(category.getName() + " : 平均价格="+ category.getAvg() + " , 高于平均价格的电器数量="+ category.getGreaterAvgCount() + " , 低于平均价格的电器数量="+ category.getLessAvgCount());

}

}

// (5)输入电器型号查询电器的价格和库存。

public static void searchByModel(String model) {

for (int i = 0; i < productList.size(); i++) {

Product product = productList.get(i);

if (product.getModel().equals(model)) {

System.out.println(product.getCategory().getName() + " : 价格="+ product.getPrice() + " , 库存="+ product.getQuantity());

}

}

}

}

class Category implements Comparable {

private String name;

private double avg;// 平均值

private double min;// 最小值

private double max;// 最大值

private int greaterAvgCount;// 高于平均价格的电器数量

private int lessAvgCount;// 低于平均价格的电器数量

private List productList = new ArrayList();// 产品集合 一 对 多

public Category(String name, double avg, double min, double max) {

this.name = name;

this.avg = avg;

this.min = min;

this.max = max;

}

public Category(String name) {

this.name = name;

}

public void add(Product product) {

productList.add(product);

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getAvg() {

return avg;

}

public void setAvg(double avg) {

this.avg = avg;

}

public double getMin() {

return min;

}

public void setMin(double min) {

this.min = min;

}

public double getMax() {

return max;

}

public void setMax(double max) {

this.max = max;

}

public List getProductList() {

return productList;

}

public void setProductList(List productList) {

this.productList = productList;

}

public int getGreaterAvgCount() {

return greaterAvgCount;

}

public void setGreaterAvgCount(int greaterAvgCount) {

this.greaterAvgCount = greaterAvgCount;

}

public int getLessAvgCount() {

return lessAvgCount;

}

public void setLessAvgCount(int lessAvgCount) {

this.lessAvgCount = lessAvgCount;

}

@Override

public int compareTo(Object obj) {

Category category = (Category) obj;

if (this.avg < category.getAvg()) {

return 1;

} else if (this.avg > category.getAvg()) {

return -1;

}

return 0;

}

}

class Product {

private String model;// 电器型号

private double price;// 价格

private int quantity;// 库存

private Category category;//产品分类

public Product(Category category, String model, double price, int quantity) {

this.category = category;

this.model = model;

this.price = price;

this.quantity = quantity;

this.category.add(this);

}

public Category getCategory() {

return category;

}

public void setCategory(Category category) {

this.category = category;

}

public String getModel() {

return model;

}

public void setModel(String model) {

this.model = model;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

public int getQuantity() {

return quantity;

}

public void setQuantity(int quantity) {

this.quantity = quantity;

}

}

结果:

统计每类家电的平均价格,最高价和最低价;

彩电  : 平均价格=4666.666666666667 , 最高价=5500.0 , 最低价=3500.0

冰箱  : 平均价格=2833.3333333333335 , 最高价=4500.0 , 最低价=1500.0

洗衣机  : 平均价格=1300.0 , 最高价=1500.0 , 最低价=1100.0

电风扇 : 平均价格=633.3333333333334 , 最高价=800.0 , 最低价=500.0

---------------------------------------------------------------------

将4类家电按平均价格降序排序;

彩电  : 4666.666666666667

冰箱  : 2833.3333333333335

洗衣机  : 1300.0

电风扇 : 633.3333333333334

---------------------------------------------------------------------

统计每类电器高于平均价格和低于平均价格的电器数量;

彩电  : 平均价格=4666.666666666667 , 高于平均价格的电器数量=2 , 低于平均价格的电器数量=1

冰箱  : 平均价格=2833.3333333333335 , 高于平均价格的电器数量=1 , 低于平均价格的电器数量=2

洗衣机  : 平均价格=1300.0 , 高于平均价格的电器数量=1 , 低于平均价格的电器数量=1

电风扇 : 平均价格=633.3333333333334 , 高于平均价格的电器数量=1 , 低于平均价格的电器数量=2

---------------------------------------------------------------------

输入电器型号查询电器的价格和库存;

彩电  : 价格=5000.0 , 库存=100

java编写电器商店管理系统,设计家电销售管理系统相关推荐

  1. Java---设计【家电销售管理系统】

    家电销售管理系统 设计要求 实现代码 运行结果 设计要求 设计家电销售管理系统,实现以下功能: (1)给4类家电各输入3个品牌的电器型号.价格和库存: (2)统计每类家电的平均价格,最高价和最低价: ...

  2. 基于JAVA+SpringBoot+Mybatis+MYSQL的家电销售管理系统

    项目功能: 本课题要求实现一套家电销售管理系统,主要包括前后台,前台用户功能:登录注册.浏览资讯.个人信息管理.购物车管理.提交订单等.后台管理员功能:用户管理.家电分类管理.家电品牌管理.家电管理. ...

  3. 基于java+springboot+mysql的家电销售管理系统

    系统介绍: 本课题要求实现一套家电销售管理系统,主要包括前后台,前台用户功能:登录注册.浏览资讯.个人信息管理.购物车管理.提交订单等.后台管理员功能:用户管理.家电分类管理.家电品牌管理.家电管理. ...

  4. JAVA计算机毕业设计成都某4S店销售管理系统Mybatis+系统+数据库+调试部署

    JAVA计算机毕业设计成都某4S店销售管理系统Mybatis+系统+数据库+调试部署 JAVA计算机毕业设计成都某4S店销售管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B ...

  5. HTML5期末大作业:管理系统后台网站设计——代理商销售管理系统后台(8页) HTML+CSS+JavaScript web前端设计与开发期末作品/期末大作业

    HTML5期末大作业:管理系统后台网站设计--代理商销售管理系统后台(8页) HTML+CSS+JavaScript web前端设计与开发期末作品/期末大作业 常见网页设计作业题材有 个人. 美食. ...

  6. 数据库设计——医药销售管理系统

    开发环境和开发工具 操作系统:win8.1 开发环境:Mysql.Web 开发工具:Workbench.Eclipse.JDBC 功能需求分析 员工有权查看.添加会员,查看.添加供应商,查询药品(输入 ...

  7. javaweb JAVA JSP药品销售管理系统JSP医药销售管理系统JSP购物商城系统JSP电子商务系统JSP购物系统

    javaweb JAVA JSP药品销售管理系统JSP医药销售管理系统JSP购物商城系统JSP电子商务系统JSP购物系统 protected void doGet(HttpServletRequest ...

  8. 计算机数据库课程设计,药品销售管理系统

    计算机数据库课程设计,药品销售管理系统 https://x-x.fun/i/Lb0b58c73eUr9

  9. Java毕设项目成都某4S店销售管理系统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目成都某4S店销售管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX ...

最新文章

  1. Windows Phone 设置DatePicker图标
  2. 【深度学习】卷积神经网络实现图像多分类的探索
  3. 计算机技术在排水领域的应用,浅谈计算机技术在市政给排水中的应用.doc
  4. 10大申请攻略+套磁技巧助你完胜美研申请
  5. 使用simple transformation查找xml file内某个节点的attribute是否存在指定value
  6. 论两大数学家是如何撕破脸的!
  7. php好玩的源码_PHP 经典有趣的算法
  8. Python一:【skimage】图像处理库的应用,不使用opencv的情况
  9. 【转载】关于二叉树、四叉树和八叉树 - Chinamming的专栏 - 博客频道 - CSDN.NET
  10. 毕设题目:Matlab图像增强
  11. js代码跳转页面时的路径问题
  12. MATLAB-图像加密
  13. solidworks2013安装
  14. Live555实时视频流应用总结
  15. ODI 问题集锦 - Return Code 1722 invalid number
  16. SQL相关概念与MYSQL下载安装卸载
  17. 【x86架构】x86平台CPU的历史
  18. 如何搞定会计人员头疼的固定资产盘点?
  19. 数据库基本概念amp;SQL简介
  20. 陈一舟、开心网和域名事件

热门文章

  1. SpringMVC06:Json交互处理
  2. 互联网公司校招Java面试题总结及答案——美团
  3. python写下拉列表在excel_用python处理excel数据(四)实现excel表下拉自动填充
  4. switch好玩吗_switch值得购买的游戏推荐 2019年switch好玩的游戏推荐
  5. 第二代计算机网络是以什么为标志,桑建平:数字化校园以什么为标志
  6. 路由器显示dhcp服务器连接失败怎么办,TP-Link路由器桥接提示“获取IP地址失败,请检查DHCP是否开启”怎么办...
  7. SAPABAP金色传说:关于FICO获利能力分析KE30报表增加字段:基本单位销售数量的方法
  8. p51 thinkpad 拆解_开箱晒物 篇三:美版2018款移动图形工作站ThinkPad P52开箱(拆键盘和后盖)...
  9. 【初六】我的辞职信写好了
  10. Linux用户及组管理