JAVA停车场管理系统(不含GUI图形用户界面)

目录

任务要求

具体实现 

Parking_Management_System类

Account类

Administrators类 

User类

Tool类


任务要求

本代码用于实现一个简单的停车场管理系统,包含数据结构中的栈和队列

栈代表停车场停车的数量,先进后出,因为入口被视为一次只能过一辆车

其次临时栈,如果有车要出停车场,则需要将其他车假设移出停车场,放到临时栈中,之后等待车出停车场后,再使车辆依次归位停车场

队列代表临时便道,如果停车场满,但依然有车希望进入,则进入临时便道等待,直到有车出停车场

具体如下图:

具体实现 

本代码分为五个部分

Parking_Management_System类

用于实现主菜单功能

1.进入管理员系统

2.进入用户系统

3.退出系统

import java.util.*;
public class Parking_Management_System {
    static Scanner sc=new Scanner(System.in);
    static int Capacity=5;
    static Queue<String>Lane=new ArrayDeque<String>();
    static Stack<String>Parking_Space=new Stack<String>();
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("**********************");
        System.out.println("欢迎使用停车场管理系统");
        System.out.println("**********************");
        System.out.println("请选择需要进行的操作:\"管理员系统\"或\"用户系统\"或\"关于我们\"或\"退出系统\"");
        while(sc.hasNext()) {
            String Choose=sc.next();//输入进行选择
            boolean exit=false;//初始化退出状态
            switch (Choose) {
                case "管理员系统": {
                    Administrators.Administrators_System();break;
                }
                case "用户系统": {
                    User.User_System();break;
                }
                case "关于我们": {
                    Tool.Acknowledgement();break;
                }
                case "退出系统": {
                    System.out.println("请选择需要进行的操作:\"确定\"或\"取消\"");
                    exit=Tool.Exit();//调用退出函数
                    if(exit)
                    {
                        System.out.println("系统已经成功关闭");
                        System.out.println("欢迎下次使用!");
                        System.out.println();
                        break;
                    }
                }
            }
            if(exit)//退出系统
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"管理员系统\"或\"用户系统\"或\"关于我们\"或\"退出系统\"");
        }
    }
}
Account类

用于定义用户注册账号所储存的数据,包括VIP办理情况,停车状态,充值VIP时间,优惠券数量,密码,剩余可购买优惠券数量,停车车牌号,入车时间

import java.util.*;

public class Account {
    private boolean VIP_Card;//是否有vip
    private boolean Stop;//是否是停车状态
    private Date Time;//VIP充值时间
    private int Coupon;//是否有优惠券
    private String Password;//密码
    private int Coupon_Cnt;//还能买几次优惠券
    private String LicensePlateNumber;//车牌号
    private Date EntryTime;//入车时间

    public boolean isStop() {
        return Stop;
    }

    public void setStop(boolean stop) {
        Stop = stop;
    }

    public boolean isVIP_Card() {
        return VIP_Card;
    }


    public void setVIP_Card(boolean VIP_Card) {
        this.VIP_Card = VIP_Card;
    }

    public Date getTime() {
        return Time;
    }

    public void setTime(Date Time) {
        this.Time = Time;
    }

    public int getCoupon() {
        return Coupon;
    }

    public void setCoupon(int Coupon) {
        this.Coupon = Coupon;
    }

    public String getPassword() {
        return Password;
    }

    public void setPassword(String password) {
        Password = password;
    }

    public int getCoupon_Cnt() {
        return Coupon_Cnt;
    }

    public void setCoupon_Cnt(int coupon_Cnt) {
        Coupon_Cnt = coupon_Cnt;
    }

    public String getLicensePlateNumber() {
        return LicensePlateNumber;
    }

    public void setLicensePlateNumber(String licensePlateNumber) {
        LicensePlateNumber = licensePlateNumber;
    }

    public Date getEntryTime() {
        return EntryTime;
    }

    public void setEntryTime(Date entryTime) {
        EntryTime = entryTime;
    }
}
Administrators类 

用于实现管理员功能,查询停车场信息,查询收入情况,查询投放优惠券数,查询用户信息

import java.text.*;
import java.util.*;

public class Administrators {
    static Scanner sc=new Scanner(System.in);
    static String Income="0";//总收入
    static String VIP_Income="0";//VIP卡收入
    static String Other_Income="0";//购买优惠券收入
    static Map<String,String>administrators=new HashMap<String,String>();
    static String Key="";//注册管理员账号的密钥,只有密钥正确才可注册管理员账号
    public static void Administrators_System()
    {
        if(administrators.isEmpty())
        {
            Initialization();//初始化
        }
        System.out.println("请选择需要进行的操作:\"登录\"或\"注册\"或\"返回\"");
        while(sc.hasNext()) {
            String Choose= sc.next();
            boolean Determine=false;
            switch (Choose) {
                case "登录": {
                    System.out.println("请输入管理员账号:");
                    String Account = sc.next();
                    System.out.println("请输入管理员密码:");
                    String Password = sc.next();
                    if (Administrators_Lon_on(Account, Password)) {
                        System.out.println("登入成功");
                        System.out.println();
                        Administrators_System_Main_Menu();
                    }
                    else{
                        System.out.println("账号或密码错误,请重新尝试");
                        System.out.println();
                    }
                    break;
                }
                case "注册": {
                    System.out.println("请输入注册账号");
                    String Account = sc.next();
                    System.out.println("请输入注册密码");
                    String Password = sc.next();
                    System.out.println("请输入密钥");
                    String Secret_key = sc.next();
                    Register(Account, Password, Secret_key);
                    break;
                }
                case "返回":{
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"登录\"或\"注册\"或\"返回\"");
        }
    }
    public static void Initialization()//初始化管理员账号
    {
        administrators.put("","");//自行输入
    }
    public static void Register(String Account,String Password,String Secret_key)
    {
        if(!Secret_key.equals(Key))
        {
            System.out.println("密钥错误");
            System.out.println();
        }
        else  if(administrators.get(Account)!=null)
        {
            System.out.println("注册账号已存在");
            System.out.println("注册失败");
            System.out.println();
        }
        else
        {
            administrators.put(Account,Password);
            System.out.println("注册成功");
            System.out.println();
        }
    }
    public static boolean Administrators_Lon_on(String Account,String Password)//账号是否有效
    {
        Set<String>set=administrators.keySet();
        Iterator<String>it=set.iterator();//用于遍历用户账号
        while(it.hasNext())
        {
            String key=it.next();
            String value=administrators.get(key);
            if(Account.equals(key)&&Password.equals(value))
            {
                return true;
            }
        }
        return false;
    }
    public static void Query_Income()//查询收入
    {
        System.out.println("当前总收入:"+Income+"元");
        System.out.println("停车收入:"+(Integer.valueOf(Income)-Integer.valueOf(VIP_Income)-Integer.valueOf(Other_Income))+"元");
        System.out.println("会员收入"+VIP_Income+"元");
        System.out.println("其他收入"+Other_Income+"元");
        System.out.println();
    }
    public static void Query_Coupon()//查询已投放优惠券
    {
        int cnt=0;
        Set<String>set=User.user.keySet();
        Iterator<String>it=set.iterator();
        while(it.hasNext())
        {
            String key= it.next();
            cnt+=User.user.get(key).getCoupon();
        }
        System.out.println("已经有"+cnt+"张优惠券投入市场");
    }
    public static void Query_User()//查询用户信息
    {
        System.out.println("请输入需要查询用户账号");
        String account=sc.next();
        Set<String>set=User.user.keySet();
        Iterator<String>it=set.iterator();
        boolean Determine=false;
        while(it.hasNext())
        {
            String key=it.next();
            if(key.equals(account))
            {
                Determine=true;
                if(User.user.get(account).isStop()) {
                    System.out.println("该账户停车车牌号:"+User.user.get(account).getLicensePlateNumber());
                    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                    String s= sdf.format(User.user.get(key).getEntryTime());
                    System.out.println("该用户的入车时间:"+s);
                }
                else
                {
                    System.out.println("该用户暂未停车");
                }
                break;
            }
        }
        if(!Determine)
        {
            System.out.println("该用户不存在");
        }
        System.out.println();
    }
    public static void Query_Parking()
    {
        System.out.println("请选择需要进行的操作:\"查询停车场车辆信息\"或\"查询车位\"或\"等待车辆\"或\"返回\"");
        while(sc.hasNext()) {
            boolean Determine=false;
            String Choose=sc.next();
            switch (Choose) {
                case "查询停车场车辆信息":{
                    Set<String>set=User.user.keySet();
                    Iterator<String> it=set.iterator();
                    System.out.println("用户名        车牌号        入车时间");
                    while(it.hasNext())
                    {
                        String key= it.next();
                        if(User.user.get(key).isStop()) {
                            SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                            String s= sdf.format(User.user.get(key).getEntryTime());
                            System.out.printf("%-12s %-12s %-58s\n",key,User.user.get(key).getLicensePlateNumber(),s);
                        }
                        else
                        {
                            System.out.println(key + "          " +"暂无停车" + "      "+"暂无停车");
                        }
                    }
                    break;
                }
                case "查询车位": {
                    System.out.println("停车场还剩下" + (Parking_Management_System.Capacity - Parking_Management_System.Parking_Space.size()) + "个空车位");
                    System.out.println();
                    break;
                }
                case "等待车辆":{
                    System.out.println("当前需要等待排队车辆" + Parking_Management_System.Lane.size() + "辆");
                    System.out.println();
                    break;
                }
                case "返回": {
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"查询车位\"或\"等待车辆\"或\"返回\"");
        }
    }
    public static void Administrators_System_Main_Menu()
    {
        System.out.println("请选择需要进行的操作:\"查询停车场信息\"或\"查询收入\"或\"查询投放优惠券数\"或\"查询用户信息\"或\"返回\"");
        boolean Determine=false;
        while(sc.hasNext())
        {
            String Select=sc.next();
            switch (Select)
            {
                case "查询收入":{
                    Query_Income();
                    break;
                }
                case "查询投放优惠券数":{
                    Query_Coupon();
                    break;
                }
                case "查询用户信息":{
                    Query_User();
                    break;
                }
                case "查询停车场信息":{
                    Query_Parking();
                    break;
                }
                case "返回":{
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"查询停车场信息\"或\"查询收入\"或\"查询投放优惠券数\"或\"查询用户信息\"或\"返回\"");
        }
    }
}

User类

实现用户功能,查询停车场信息,查询月卡,查询优惠券,停车操作,出车操作

import java.text.*;
import java.util.*;

public class User {
    static Scanner sc=new Scanner(System.in);
    static String Current_Account;
    static Map<String,Account>user=new HashMap<String,Account>();
    public static void User_System()
    {
        System.out.println("请选择需要进行的操作:\"登录\"或\"注册\"或\"返回\"");
        while(sc.hasNext()) {
            String Choose= sc.next();
            boolean Determine=false;
            switch (Choose) {
                case "登录": {
                    System.out.println("请输入用户账号:");
                    String Account = sc.next();
                    System.out.println("请输入用户密码:");
                    String Password = sc.next();
                    if (User_Lon_on(Account, Password)) {
                        System.out.println("登入成功");
                        System.out.println();
                        Current_Account=Account;
                        User_Main_Menu();
                    }
                    else
                    {
                        System.out.println("账号或密码错误,请重新尝试");
                        System.out.println();
                    }
                    break;
                }
                case "注册": {
                    System.out.println("请输入注册账号");
                    String Account = sc.next();
                    System.out.println("请输入注册密码");
                    String Password = sc.next();
                    Register(Account, Password);
                    break;
                }
                case "返回":{
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"登录\"或\"注册\"或\"返回\"");
        }
    }
    public static void Register(String Account,String Password) {
        Set<String> set = user.keySet();
        Iterator<String> it = set.iterator();
        boolean Determine=false;
        while (it.hasNext()) {
            String key = it.next();
            if(key.equals(Account))
            {
                Determine=true;
                break;
            }
        }
        if (Determine) {
            System.out.println("注册账号已存在");
            System.out.println("注册失败");
            System.out.println();
        } else {
            Account account = new Account();
            account.setStop(false);
            account.setCoupon(0);
            account.setPassword(Password);
            account.setVIP_Card(false);
            account.setCoupon_Cnt(5);
            user.put(Account, account);
            System.out.println("注册成功");
            System.out.println();
        }
    }
    public static Boolean User_Lon_on(String Account,String Password)
    {
        Set<String>set=user.keySet();
        Iterator<String>it=set.iterator();
        while(it.hasNext())
        {
            String key=it.next();
            String value=user.get(key).getPassword();
            if(Account.equals(key)&&Password.equals(value))
            {
                return true;
            }
        }
        return false;
    }
    public static void Query()//查询车位
    {
        System.out.println("请选择需要进行的操作:\"查询车位\"或\"等待车辆\"或\"返回\"");
        while(sc.hasNext()) {
            boolean Determine=false;
            String Choose=sc.next();
            switch (Choose) {
                case "查询车位": {
                    System.out.println("停车场还剩下" + (Parking_Management_System.Capacity - Parking_Management_System.Parking_Space.size()) + "个空车位");
                    System.out.println();
                    break;
                }
                case "等待车辆":{
                    System.out.println("当前需要等待排队车辆" + Parking_Management_System.Lane.size() + "辆");
                    System.out.println();
                    break;
                }
                case "返回": {
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"查询车位\"或\"等待车辆\"或\"返回\"");
        }
    }
    public static void VIP_Card() {//查询月卡
    Date date=new Date(Long.valueOf("2592000000"));
    Date Current_date=new Date();
    if(!user.get(Current_Account).isVIP_Card()||(Current_date.getTime()-user.get(Current_Account).getTime().getTime()>date.getTime())) {
        System.out.println("您当前未充值月卡");
        System.out.println("充值月卡即可免费停车,每月只需800元");
        System.out.println("您可以选择\"充值月卡\"或\"返回\"");
        System.out.println();
        while(sc.hasNext()) {
            boolean Determine=false;
            String Choose = sc.next();
            switch (Choose) {
                case "充值月卡": {
                    System.out.println("是否确定充值月卡\"确定\"或\"取消\"");
                    String Select = sc.next();
                    switch (Select) {
                        case "确定": {
                            System.out.println("恭喜您成功充值成为我们的VIP客户");
                            Administrators.VIP_Income=String.valueOf(Double.valueOf(Administrators.VIP_Income)+800);
                            Administrators.Income=String.valueOf(Double.valueOf(Administrators.Income)+800);
                            user.get(Current_Account).setTime(Current_date);
                            user.get(Current_Account).setVIP_Card(true);
                            break;
                        }
                        case "取消": {
                            break;
                        }
                    }
                    break;
                }
                case "返回": {
                    Determine = true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if (Determine||(user.get(Current_Account).isVIP_Card())) {
                break;
            }
            System.out.println("您当前未充值月卡");
            System.out.println("充值月卡即可免费停车,每月只需800元");
            System.out.println("您可以选择\"充值月卡\"或\"返回\"");
            System.out.println();
        }
        }
    else{
        System.out.println("尊敬的VIP用户您好");
        SimpleDateFormat sdf=new SimpleDateFormat("dd天 HH小时mm分钟ss秒");
        String s=sdf.format(date.getTime()-(Current_date.getTime()-user.get(Current_Account).getTime().getTime()));
        System.out.println("您的VIP仅剩"+s+"就到期了");
    }
    }
    public static void Coupon()//优惠券
    {
        System.out.println("请选择需要进行的操作:\"查询剩余优惠券\"或\"购买优惠券\"或\"返回\"");
        while(sc.hasNext())
        {
            boolean Determine=false;
            String Choose=sc.next();
            switch (Choose)
            {
                case "查询剩余优惠券":{
                    System.out.println("您还有"+user.get(Current_Account).getCoupon()+"张优惠券可以使用");
                    break;
                }
                case "购买优惠券":{
                    System.out.println("是否确定花费50元购买7.5折优惠券\"确定\"或\"取消\"");
                    String Select=sc.next();
                    switch (Select) {
                        case "确定": {
                            System.out.println("购买成功");
                            Administrators.Other_Income=String.valueOf(Double.valueOf(Administrators.Other_Income)+50);
                            Administrators.Income=String.valueOf(Double.valueOf(Administrators.Income)+50);
                            user.get(Current_Account).setCoupon(user.get(Current_Account).getCoupon()+1);
                            user.get(Current_Account).setCoupon_Cnt(user.get(Current_Account).getCoupon_Cnt()-1);
                            System.out.println("剩余可购买次数:"+user.get(Current_Account).getCoupon_Cnt());
                            System.out.println();
                            break;
                        }
                        case "取消": {
                            break;
                        }
                    }
                    break;
                }
                case "返回":{
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"查询剩余优惠券\"或\"购买优惠券\"或\"返回\"");
        }
    }
    public static void Stop()//停车
    {
        if(user.get(Current_Account).isStop())
        {
            System.out.println("本账号已经记录停车车辆或正在排队停车");
            System.out.println("请出车后再使用");
            }
        else{
            System.out.println("请输入车牌号:");
            String LicensePlateNumber = sc.next();
            user.get(Current_Account).setLicensePlateNumber(LicensePlateNumber);
            if(Parking_Management_System.Capacity-Parking_Management_System.Parking_Space.size()>0) {//有空位
                Date date = new Date();
                user.get(Current_Account).setEntryTime(date);
                Parking_Management_System.Parking_Space.push(Current_Account);
                user.get(Current_Account).setStop(true);
                System.out.println("停车成功");
                System.out.println();
            }
            else {//没空位进入等待车道
                System.out.println("停车场已满,请排队");
                System.out.println("您当前是第"+Parking_Management_System.Lane.size()+"位置");
                System.out.println();
                user.get(Current_Account).setStop(true);
                Parking_Management_System.Lane.add(LicensePlateNumber);
            }
        }

    }

    public static void Departure()//出车
    {
        Stack<String>Temporary_AccessRoad=new Stack<String>();
        int cnt=0;
        while(!Parking_Management_System.Parking_Space.isEmpty())
        {
            Temporary_AccessRoad.push(Parking_Management_System.Parking_Space.pop());
            if(Temporary_AccessRoad.peek().equals(user.get(Current_Account).getLicensePlateNumber()))
            {
                Temporary_AccessRoad.pop();
                if(!user.get(Current_Account).isVIP_Card())
                {
                    Date date=new Date();
                    Long Time=(date.getTime()-user.get(Current_Account).getEntryTime().getTime())/1000/60;
                    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                    String s1= sdf.format(user.get(Current_Account).getEntryTime());
                    String s=sdf.format(date);
                    System.out.println("本次入车时间:"+s1);
                    System.out.println("本次出车时间:"+s);
                    System.out.println("请选择\"优惠券支付\"或\"正常支付\"");
                    String Choose=sc.next();
                    double sum=0;
                    if(Time<15)
                    {
                        System.out.println("本次停车免费");
                    }
                    else {
                        sum+=(Time-15)*1.5;
                        System.out.printf("本次停车需缴纳%.2f元\n" ,sum );
                        switch (Choose)
                        {
                            case "优惠券支付":
                            {
                                if(user.get(Current_Account).getCoupon()!=0)
                                {
                                    user.get(Current_Account).setCoupon(user.get(Current_Account).getCoupon()-1);
                                    Administrators.Income=String.valueOf(Double.valueOf(Administrators.Income)+sum*0.75);
                                    System.out.printf("支付成功,本次实际缴纳%.2f\n",0.75*sum);
                                }
                                else
                                {
                                    System.out.println("您当前的优惠券数量不足");
                                    Administrators.Income=String.valueOf(Double.valueOf(Administrators.Income)+sum);
                                    System.out.printf("支付成功,本次实际缴纳%.2f元\n",sum);
                                    System.out.println();
                                }
                                break;
                            }
                            case "正常支付":
                            {
                                Administrators.Income=String.valueOf(Double.valueOf(Administrators.Income)+sum);
                                System.out.printf("支付成功,本次实际缴纳%.2f元\n",sum);
                                break;
                            }
                        }
                    }
                }
                else
                {
                    System.out.println("尊敬的VIP客户,本次已为您免单");
                }
                System.out.println("出车完成");
                System.out.println("本次退让次数:"+cnt);
                System.out.println("欢迎下次再来");
                user.get(Current_Account).setStop(false);
                System.out.println();
                break;
            }
            cnt++;
        }
        while(!Temporary_AccessRoad.isEmpty())
        {
            Parking_Management_System.Parking_Space.push(Temporary_AccessRoad.pop());
        }
        while(Parking_Management_System.Parking_Space.size()<Parking_Management_System.Capacity)
        {
            if(Parking_Management_System.Lane.size()==0)
            {
                break;
            }
            Parking_Management_System.Parking_Space.push(Parking_Management_System.Lane.poll());
        }
    }
    public static void User_Main_Menu()
    {
        System.out.println("请选择需要进行的操作:\"查询停车场信息\"或\"查询月卡\"或\"查询优惠券\"或\"停车\"或\"出车\"或\"返回\"");
        while(sc.hasNext())
        {
            boolean Determine=false;
            String Select=sc.next();
            switch (Select)
            {
                case "查询停车场信息":{
                    Query();
                    break;
                }
                case "查询月卡":{
                    VIP_Card();
                    break;
                }
                case "查询优惠券":{
                    Coupon();
                    break;
                }
                case "停车":{
                    Stop();
                    break;
                }
                case "出车":{
                    Departure();
                    break;
                }
                case "返回":{
                    Determine=true;
                    System.out.println("返回成功");
                    System.out.println();
                    break;
                }
            }
            if(Determine)
            {
                break;
            }
            System.out.println("请选择需要进行的操作:\"查询停车场信息\"或\"查询月卡\"或\"查询优惠券\"或\"停车\"或\"出车\"或\"返回\"");
        }
    }
}
Tool类

其他功能实现

import java.util.*;

public class Tool {
    public static void Acknowledgement()
    {
        System.out.println("本系统由进行研发");
        System.out.println("成员包括:排名不分先后");
        System.out.println("感谢使用!");
        System.out.println();
    }
    public static boolean Exit()
    {
        Scanner sc=new Scanner(System.in);
        String Choose= sc.next();
        switch (Choose){
            case "确定": {
                return true;
            }
            case "取消": {
                return false;
            }
        }
        System.out.println("无效操作");
        return false;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/591802.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nodejs实战——搭建websocket服务器

本博客主要介绍websocket服务器库安装&#xff0c;并举了一个简单服务器例子。 服务器端使用websocket需要安装nodejs websocket。 cd 工程目录 # 此刻我们需要执行命令&#xff1a; sudo npm init上述命令创建package.json文件&#xff0c;系统会提示相关配置。 我们也可以使…

matlab绘制时间序列图,横坐标轴如何标注为月-日

Excel表格中有类似于如下 年月日对应的数据 导入 matlab中&#xff0c;为数值矩阵&#xff1b;了解该表格中的时间跨度为从2021年1月2日至2021年12月31日&#xff0c;中间没有缺失&#xff0c;绘图代码&#xff1a; % clear; timespan1[20210102 20211231]; datenn1datenum(da…

Visual studio调试技巧

Visual studio调试技巧 bug是什么&#xff1f;Debug和ReleaseDebugRelease 如何调试VS调试快捷键调试过程中查看程序信息查看临时变量的值查看内存信息查看调用堆栈查看汇编信息查看寄存器信息 编译常见错误编译型错误链接型错误运行时错误 bug是什么&#xff1f; bug的英文释…

用例设计规范示例

一个好的用例设计&#xff0c;可以让任何一个执行测试的测试人员都能够容易理解&#xff0c;好操作、易执行、无歧义。这就需要有一个用例设计规范。 下面是一组用例设计规范的示例。 用例编号命名规范化 用例具有规范的、统一的、唯一的标识&#xff0c;有助于实现对用例的…

VMware | 虚拟机开启摄像头

VMware | 虚拟机开启摄像头 打开主机摄像头功能 首先请确保主机摄像头打开。 若图像显示正常则可以。 确保主机虚拟机USB服务开启 进入系统服务界面&#xff0c;确保 VMware USB … 处于开启状态&#xff0c;如果没开启&#xff0c;将它打开。 开启虚拟机摄像头 在 V…

以信息挖掘为关键技术的智慧校园建设

随着信息技术的快速发展&#xff0c;数据信息资源以井喷的姿态涌现。数据信息的大量涌现给人们带来丰富的数据信息资源&#xff0c;但面对海量的信息资源时&#xff0c;加大了人们对有效信息资源获取的难度&#xff0c;数据挖掘技术正是这一背景下的产物&#xff0c;基于数据挖…

C语言/数据结构——每日一题(分割链表)

一.前言 今天在LeetCode觉得很不错&#xff0c;想和大家们一起分享这道链表题——分割链表&#xff1a;https://leetcode.cn/problems/partition-list-lcci废话不多说&#xff0c;让我们直接进入正题吧。 二.正文 1.1题目描述 1.2题目分析 大致思路&#xff1a;我们可以通过…

手撸Mybatis(二)—— 配置项的获取

本专栏的源码&#xff1a;https://gitee.com/dhi-chen-xiaoyang/yang-mybatis。 配置项解析 在mybatis中&#xff0c;一般我们会定义一个mapper-config.xml文件&#xff0c;来配置数据库连接的相关信息&#xff0c;以及我们的mapperxml文件存放目录。在本章&#xff0c;我们会…

【C++】---模板进阶

【C】---模板进阶 一、模版参数1、类型参数2、非类型参数 二、模板的特化1、函数模板的特化2、类模板特化&#xff08;1&#xff09;全特化&#xff08;2&#xff09;偏特化 三、模板分离编译1、模板支持分离编译吗&#xff1f;2、为什么模板不支持分离编译&#xff1f;3、如何…

《21天学通C++》(第十五章)标准模板库简介

本章简单介绍STL容器、迭代器和算法的基本概念&#xff0c;之后几章会分别详述 1.STL容器 STL容器是STL中用于存储集合数据的组件&#xff0c;它们可以被看作是模板类&#xff0c;允许开发者定义特定类型的容器发&#xff0c;这里按照C11标准分为四类&#xff1a;顺序容器、关…

Vmware虚拟机瘦身及Samba服务不可用问题解决

虚拟机磁盘空间膨胀是一个令人头疼的问题&#xff0c;特别是对许多搞开发的小伙伴。无论是做后台服务、嵌入式还是Android开发&#xff0c;都面临着这个难题。首先&#xff0c;操作系统本身就已占用不少空间&#xff0c;更新安装包&#xff0c;再下载一些开源软件&#xff0c;剩…

leetcode_47.全排列 II

47. 全排列 II 题目描述&#xff1a;给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] …

Server 2022 IIS10 PHP 7.2.33 升级至 PHP 8.3 (8.3.6)

下载最新版本 PHP 8.3 (8.3.6)&#xff0c;因为是 FastCGI 执行方式&#xff0c;选择 Non Thread Safe(非线程安全)。 若有以下提示&#xff1a; The mysqli extension is missing. Please check your PHP configuration. 或者 PHP Fatal error: Uncaught Error: Class &qu…

41 POSIX信号量

POSIX信号量 POSIX信号量和System V信号量作用相同&#xff0c;都是用于同步操作&#xff0c;达到无冲突的访问共享资源目的&#xff0c;但POSIX可以用于线程同步 31节说了信号量&#xff0c;信号量的本质是一个计数器。将共享资源从一个整体划分为很多不部分&#xff0c;就和…

可视化大屏应用场景:智慧安防,保驾护航

hello&#xff0c;我是大千UI工场&#xff0c;本篇分享智慧安防的大屏设计&#xff0c;关注我们&#xff0c;学习N多UI干货&#xff0c;有设计需求&#xff0c;我们也可以接单。 实时监控与预警 可视化大屏可以将安防系统中的监控画面、报警信息、传感器数据等实时展示在大屏上…

【word技巧】Word目录如何设置为对齐?

Word文档的目录有些在修改之后无法对齐&#xff0c;大家是不是会自己手动删除省略号&#xff1f;今天分享一个方法&#xff0c;设置之后&#xff0c;tab一键对齐目录。 先选中目录&#xff0c;然后点击段落设置界面&#xff0c;选择左下角的【制表位】 然后将制表位置设置为【…

蓝桥杯练习系统(算法训练)ALGO-947 贫穷的城市

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 某城市有n个小镇&#xff0c;编号是1~n。由于贫穷和缺乏城市规划的人才&#xff0c;每个小镇有且仅有一段单向的公路通往别…

一机游领航旅游智慧化浪潮:借助前沿智能设备,革新旅游服务效率,构建高效便捷、生态友好的旅游服务新纪元,开启智慧旅游新时代

目录 一、引言 二、一机游的定义与特点 &#xff08;一&#xff09;一机游的定义 &#xff08;二&#xff09;一机游的特点 三、智能设备在旅游服务中的应用 &#xff08;一&#xff09;旅游前的信息查询与预订支付 &#xff08;二&#xff09;旅游中的导航导览与互动体…

SHOW ME THE CODE - 面向对象程序设计之 - 接口隔离原则(ISP)

SHOW ME THE CODE - 面向对象设计系列 1 SHOW ME THE CODE - 面向对象基本概念2 SHOW ME THE CODE - 面向对象程序设计之 - 单一职责原则(SRP)3 SHOW ME THE CODE - 面向对象程序设计之 - 开闭原则&#xff08;OCP&#xff09;4 SHOW ME THE CODE - 面向对象程序设计之 - 里氏…

C语言实验-学生信息管理系统

按以下菜单界面编写学生信息管理系统&#xff1b; 1&#xff09;录入学生信息首先输入学生人数&#xff0c;然后根据学生人数开辟动态数组&#xff1b; 2&#xff09;学生信息包括学号、姓名、性别、三门课成绩、总分&#xff1b;其中学号、姓名、 性别、三门课成绩是需要从键盘…
最新文章