猫熊超市管理系统



import java.util.Scanner;

//增加商品类
//此类用来录入一个商品的所有属性,并作为结果对其返回
public class Add {
    public Goods add1() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入商品名称");
        String name = scanner.next();
        System.out.println("请输入商品数量");
        int shuliang = scanner.nextInt();
        System.out.println("请输入商品价格");
        float jiage = scanner.nextFloat();
        System.out.println("请输入商品产地");
        String chandi = scanner.next();
        System.out.println("请输入商品编号");
        int bianhao = scanner.nextInt();
        return new Goods(shuliang, name, chandi, jiage, bianhao);

    }
}


import java.util.ArrayList;
import java.util.Scanner;

//此类为删除商品类
//获取一个需要删除的商品的主键(biuanhao),并且返回bianhao
public class Delete {
    public int delete(ArrayList<Goods> goods) {
        //创建打印机类
        Scanner scanner = new Scanner(System.in);
        //此处int 类型的bianhao表示需要删除的元素的编号
        System.out.println("请输入要删除的商品编号");
        int bianhao = scanner.nextInt();
        for (int i = 0; i < goods.size(); i++) {
            Goods goods1 = goods.get(i);
            if (goods1.getBianhao() == bianhao) {
                goods.remove(i);
                rz rz =new rz();
                rizhi rizhi = new rizhi();
                String time=rizhi.rizhi1();
                rz.setTime(time);
                rz.setCaozuo("删除商品");
                return i;
            }
        }
        System.out.println("抱歉,没有该编号的商品");
        return 0;
    }

}


public class Goods {
    //无参构造函数
    public  Goods(){}
    private int shuliang;
    private String name;
    private String chandi;
    private float jiage;
    private int bianhao;

    public int getShuliang() {
        return shuliang;
    }

    public void setShuliang(int shuliang) {
        this.shuliang = shuliang;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getChandi() {
        return chandi;
    }

    public void setChandi(String chandi) {
        this.chandi = chandi;
    }

    public double getJiage() {
        return jiage;
    }

    public void setJiage(float jiage) {
        this.jiage = jiage;
    }

    public int getBianhao() {
        return bianhao;
    }

    public void setBianhao(int bianhao) {
        this.bianhao = bianhao;
    }

    @Override
    public String toString() {
        return "Goods{" +
                "shuliang=" + shuliang +
                ", name='" + name + '\'' +
                ", chandi='" + chandi + '\'' +
                ", jiage=" + jiage +
                ", bianhao=" + bianhao +
                '}';
    }

    public Goods(int shuliang, String name, String chandi, float jiage, int bianhao) {
        this.shuliang = shuliang;
        this.name = name;
        this.chandi = chandi;
        this.jiage = jiage;
        this.bianhao = bianhao;
    }
}
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

//记录销售数量
public class inOut {
    public int inOut1(ArrayList<Goods> goods) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入销售的商品编号");
        int bianhao = scanner.nextInt();
        System.out.println("请输入销售的数量");
        int shuliang = scanner.nextInt();
        rz rz = new rz();
        rizhi rizhi = new rizhi();
        String time=rizhi.rizhi1();
        rz.setTime(time);
        rz.setCaozuo("商品出货");
        for (int i = 0; i < goods.size(); i++) {
            if (bianhao == goods.get(i).getBianhao()) {
                int n=goods.get(i).getShuliang()-shuliang;
                goods.get(i).setShuliang(n);
                break;
            }
        }
        return 0;
    }
}


import java.util.ArrayList;
import java.util.Scanner;

//此类提供修改功能的子功能
//返回用户输入的商品编号对应的商品在ArrayList<>容器中的索引值
public class Set {
    public int Set1(ArrayList<Goods> goods) {
        System.out.println("请输入需要修改商品的编号");
        Scanner scanner = new Scanner(System.in);
        int bianhao = scanner.nextInt();
        //判断是否有这个编号的商品
        for (int i = 0; i < goods.size(); i++) {
            if (goods.get(i).getBianhao() == bianhao) {
                    return i;
            }
        }
        System.out.println("🐼提醒您,您输入的编号有误,数据库中没有编号为:"+bianhao+"的商品");
     return -1;
    }
}
package 集合框架.单列.学生管理系统.商品管理系统;


import java.util.ArrayList;
import java.util.Scanner;

//该类是用来接收Set类中的Set1()函数返回的值
public class Set2 {
    public void Set3(ArrayList<Goods> goods, int i) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您要修改的数据");
        System.out.println("1.名称");
        System.out.println("2.编号");
        System.out.println("3.产地");
        System.out.println("4.价格");
        System.out.println("5.数量");
        int i1 = scanner.nextInt();
        if (i1 == 1) {
            System.out.println("请输入修改后名称");
            goods.get(i).setName(scanner.next());
        } else if (i1 == 2) {
            if (goods.size() != 1) {
                //创建while1变量
                //初始值为0,在进入while循环后会将其改为1
                //如果while循环中嵌套的for循环中的if判断为正确,代表有编号重复
                //此时将while1的值再次改为0,使其仍然满足while循环
                int while1 = 0;
                while (while1 == 0) {
                    System.out.println("请输入修改后的编号");
                    //i2用来接收修改后的编号
                    int i2 = scanner.nextInt();
                    goods.get(i).setBianhao(i2);
                    while1 = 1;
                    //遍历集合元素
                    for (int i3 = 0; i3 < goods.size(); i3++) {
                        //判断是否编号重复,如果新编号与此商品的原来编号重复,则判断结果为false,不会将while1的值改为0
                        if (i2 == goods.get(i3).getBianhao() && i2 != goods.get(i).getBianhao()) {
                            System.out.println("编号重复无法修改,请输入唯一的编号");
                            while1 = 0;
                            break;
                        }
                    }
                }
            } else {
                System.out.println("请输入修改后编号");
                goods.get(i).setBianhao(scanner.nextInt());
            }
        } else if (i1 == 3) {
            System.out.println("请输入修改后的产地");
            goods.get(i).setChandi(scanner.next());
        } else if (i1 == 4) {
            System.out.println("请输入修改后的价格");
            goods.get(i).setJiage(scanner.nextFloat());
        } else if (i1 == 5) {
            System.out.println("请输入修改后的数量");
            goods.get(i).setShuliang(scanner.nextInt());
        }
        rz rz =new rz();
        rizhi rizhi = new rizhi();
        String time=rizhi.rizhi1();
        rz.setTime(time);
        rz.setCaozuo("修改商品");
    }
}



import java.util.ArrayList;

//该类为输出所有元素的类
public class to {
    public void to1(ArrayList<Goods> goods) {
        System.out.println("编号      名称      数量      价格      产地");
        for (int i = 0; i < goods.size(); i++) {
            System.out.print(goods.get(i).getBianhao() + "        ");
            System.out.print(goods.get(i).getName() + "     ");
            System.out.print(goods.get(i).getShuliang() + "       ");
            System.out.print(goods.get(i).getJiage() + "      ");
            System.out.println(goods.get(i).getChandi() + "     ");

        }
        rizhi rizhi = new rizhi();
        rz rz = new rz();
        String time = rizhi.rizhi1();
        rz.setTime(time);
        rz.setCaozuo("查看元素");
    }

}

import java.util.ArrayList;
//库存预警
public class yujing {
    public void yujing1(ArrayList<Goods> goods) {
        for (int i = 0; i < goods.size(); i++) {
            int n = goods.get(i).getShuliang();
            if (n < 10) {
                System.out.println("🐼提醒您"+goods.get(i).getName() + "数量为" + n + "建议补货");
            }
        }
    }
}
import java.util.ArrayList;

//输入异常处理类
public class yichang {
    public void yichang1(ArrayList<Goods> goods){
        Add add = new Add();
        rizhi rizhi = new rizhi();
        rz rz = new rz();
        try{goods.add(add.add1());
            String time =rizhi.rizhi1();
            rz.setTime(time);
            rz.setCaozuo("添加商品");
        }
        catch(java.util.InputMismatchException e){
            System.out.println("🐼提醒您价格或数量输入错误🐼已删除该商品信息,请重新输入");
            yichang1(goods);
        }

    }
}

package 集合框架.单列.学生管理系统.商品管理系统;

import java.util.ArrayList;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        //构建存储容器
        ArrayList<Goods> goods = new ArrayList<>();
        //构建日志存储器
        ArrayList<rz> rz1 = new ArrayList<>();
        Delete delete = new Delete();
        to to = new to();
        Add Add = new Add();
        Set set = new Set();
        Set2 set2 = new Set2();
        yichang yichang = new yichang();
        inOut inOut = new inOut();
        yujing yujing = new yujing();
        torz torz = new torz();
        Scanner scanner = new Scanner(System.in);
        // 此处xuhao用来接收demo()函数返回的demo这个方法里面的xuhao
        for (; ; ) {
            //进行预警
            yujing.yujing1(goods);
            //生成操作界面
            int xuhao = demo();

            if (xuhao == 1) {
                yichang.yichang1(goods);
                //检查是否重复编号,并删除重复编号的商品
                //要判断是否为一个商品,如果仅为一个商品必然不可能重复编号
                if (goods.size() != 1) {
                    //定义一个i1,如果下面的if判断为true就改成0,这样就可以把通过if判断的goods元素(编号重复的商品)无法通过第二个if判断
                    //即无法输出商品添加成功

                    int i1 = 1;
                    for (int i = 0; i < goods.size() - 1; i++) {
                        //判断最后一个元素,(也就是刚刚加入的商品)的属性——编号是否与其他元素的该属性相同
                        //为了不与最后一个元素(该商品自己本身)进行比较,循环的判定条件:i要小于集合的长度-1
                        //以避免与自己本身进行比较,如果不进行此操作,则集合中的编号必然重复
                        if (goods.get(goods.size() - 1).getBianhao() == goods.get(i).getBianhao()) {
                            System.out.println("🐼提醒您,您输入的编号有重复");
                            goods.remove(goods.size() - 1);
                            System.out.println("🐼已帮您删除您刚刚输入的商品");
                            i1 = 0;
                        }
//                        else {
//                            System.out.println("商品添加成功");
//                            break;
//                        }
                    }
                    if (i1 == 1) {
                        System.out.println("商品添加成功");
                    }
                } else {
                    System.out.println("商品添加成功");
                }


            }
            if (xuhao == 2) {

                to.to1(goods);
            }
            if (xuhao == 3) {
                //如果i=-1代表编号重复,则不调用执行修改功能的函数Set2
                int i = set.Set1(goods);
                if (i != -1) {
                    set2.Set3(goods, i);
                }

            }
            if (xuhao == 4) {
                delete.delete(goods);
            }
            if (xuhao == 5) {
                inOut.inOut1(goods);
            }
       
            if (xuhao == 6) {
                System.out.println("您确定要退出🐼商品管理系统吗?");
                System.out.println("如果确实退出请输入----确认退出,不想退出请输入其他任意键");
                String yes_Or_no = scanner.next();
                if (yes_Or_no.equals("确认退出")) {
                    System.out.println("感谢您的使用,🐼商品管理系统即将退出");
                    System.out.println("-----退出成功----");
                    break;
                }
            }
        }
    }

    public static int demo() {
        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("6.退出系统");
        System.out.println("请选择[1--6]");
        Scanner scanner = new Scanner(System.in);
        //此处的变量序号为选择功能时的序号
        int xuhao = scanner.nextInt();
        return xuhao;
    }
}

内容概要:本文提出了一种基于非合作博弈理论的居民负荷分层调度模型,并结合双层鲸鱼优化算法(Two-level Whale Optimization Algorithm)进行高效求解,模型与算法均通过Matlab代码实现。研究针对电力系统中居民侧用电负荷的复杂调度问题,引入非合作博弈机制刻画各用户之间的利益竞争关系,实现负荷的分层优化分配;同时设计双层优化架构,上层优化资源配置,下层模拟用户自主决策行为,提升了模型的实用性与合理性。通过智能优化算法求解多层级、非凸非线性的博弈模型,有效提高了调度方案的收敛性与全局寻优能力,适用于现代智能电网中的需求侧管理与能源优化场景。; 适合人群:具备电力系统基础理论知识和Matlab编程能力,从事智能电网、能源优化调度、需求侧管理、博弈论应用等方向的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于居民区电力负荷的分层优化调度系统设计与仿真分析;②为非合作博弈在多主体能源系统建模中的应用提供方法论支持;③利用双层鲸鱼算法解决具有嵌套结构的复杂双层优化问题,提升求解效率与调度方案的可行性。; 阅读建议:建议读者结合提供的Matlab代码深入理解模型构建逻辑与算法实现流程,重点关注博弈模型的效用函数设计、纳什均衡求解思路以及双层优化结构的迭代机制,宜配合实际用电数据开展复现实验以验证模型有效性与鲁棒性。
内容概要:本文围绕基于自适应神经模糊推理系统(ANFIS)智能控制器的可再生能源微电网功率管理系统展开研究,结合Simulink仿真实现,深入探讨了微电网中功率的智能调控与经济机组组合调度问题。通过引入ANFIS控制器,有效应对风能、光伏等可再生能源出力的波动性与不确定性,提升系统运行的稳定性与电能质量。研究内容涵盖微电网多源协调控制策略、功率平衡管理、优化调度模型构建及仿真验证,实现了对分布式电源、储能系统和负荷的协同优化,兼顾经济性与可靠性目标,并通过仿真平台验证了所提方法的有效性与优越性。; 适合人群:具备电力系统、自动化或新能源相关专业背景,熟悉Matlab/Simulink仿真环境,从事微电网能量管理、智能控制、能源优化等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高比例可再生能源接入场景下的微电网能量管理系统研发与教学实践;②为实现微电网功率稳定控制与经济高效运行提供先进的智能控制解决方案;③支撑高水平学术论文复现、科研课题攻关及实际工程项目的仿真验证与方案优化。; 阅读建议:建议结合提供的Simulink模型与相关代码进行动手实践,重点关注ANFIS控制器的设计流程、规则库构建与参数调优方法,并通过与传统PID或MPC控制策略的对比实验,深入理解其在动态响应与鲁棒性方面的优势。同时可进一步拓展文中提出的优化调度逻辑,应用于多目标、多约束的复杂实际应用场景中。
内容概要:本文档聚焦于“直流电机双闭环控制Matlab仿真”,系统阐述了基于Matlab/Simulink平台实现直流电机双闭环控制系统(主要包括速度环与电流环)的设计与仿真全过程。通过构建直流电机的数学模型,结合PI控制器进行调控,实现对电机转速和电枢电流的高精度动态控制,验证控制策略的稳定性与响应性能。文档详细介绍了仿真模型的搭建流程、关键参数的整定方法、系统动态波形的分析手段以及仿真结果的有效性验证,体现了经典自动控制理论在实际电机系统中的工程应用,是电机控制与电力电子技术相结合的典型研究案例。; 适合人群:具备自动控制原理、电机与拖动基础、电力电子技术和Matlab/Simulink仿真能力的电气工程、自动化、机电一体化等专业的本科生、研究生及从事电机驱动系统研发的工程技术人员。; 使用场景及目标:①作为高校课程设计或实验教学材料,帮助学生深入理解双闭环调速系统的工作机理与工程实现;②服务于科研项目,为新型电机控制算法(如滑模、模糊PID等)的开发与性能对比提供基础仿真验证平台;③作为工业界产品前期设计的仿真工具,用于评估不同控制策略在动态响应、抗干扰能力和稳态精度方面的可行性。; 阅读建议:建议读者在学习过程中紧密结合自动控制理论知识,亲手在Simulink环境中搭建完整的双闭环仿真模型,通过反复调整PI控制器的比例与积分参数,观察并分析转速、电流的阶跃响应曲线,从而深刻理解反馈控制的本质、系统稳定性条件以及参数整定对动态性能的影响,进而掌握电机控制系统的设计精髓。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值