gpt4 book ai didi

java - 队列的删除方法

转载 作者:行者123 更新时间:2023-12-02 00:57:26 24 4
gpt4 key购买 nike

我尝试实现一个循环队列,我想从队列中删除一名客户,但它删除了 2 个客户,而不是仅删除了一个。举个例子,假设我在队列中添加了 4 个客户(“Joe”、“Mary”、“Carol”和“George”),它们都会显示出来。假设我想删除(“Joe”)并显示队列。它显示我(“卡罗尔”,“乔治”),这意味着它也删除了“玛丽”......我不知道如何解决这个问题。

我的队列将由从等候室移至客户队列的客户组成。最大客户数量为 33。

这是我的代码:

package hotelbooking;

public class HotelBooking {
static int ROOM_CAPACITY = 33;

private static Customer[] waitingRoom = new Customer[ROOM_CAPACITY];
private static CustomerQueue hotelQueue = new CustomerQueue();

这是用户从队列中删除第一个客户的方法。

private static void DeleteCustomerFromHotelQueue(Customer[] waitingRoom) {
System.out.println(hotelQueue.remove() + " ");
}
package hotelbooking;

public class CustomerQueue {
private Customer[] queArray = new Customer[HotelBooking.ROOM_CAPACITY];
private int front = 0;
private int end = 0;


public Customer remove() {
//if the queArray is not empty
//remove customer
Customer removedCustomer = queArray[front];
//inform that not customer (return null)
queArray[front] = null;
front = (front + 1) % queArray.length;
return removedCustomer;
}

当我陷入困境时,有人可以帮助我吗?

最佳答案

for (int i = front; i < currentSize; i++) 

您想在此处从 i = 0 开始

关于java - 队列的删除方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61161276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com