必须从队列中删除索引0。你回答 始终在索引0上找到的对话中。队列中的所有其他调用必须“向前移动”一步,以便索引1现在应该获得索引0,依此类推。试过这种方法和其他许多方法,但不能让它起作用。
public static void answerCall() {
for (int i = 0; i < customerList.length-1; i++) {
if (customerList[i] != null && customerList[i + 1] == null) {
customerList[i] = null;
counter--;
} else if (customerList[i] != null && customerList[i + 1] != null) {
customerList[i] = customerList[i + 1];
customerList[i + 1] = null;
counter--;
}
}
}
}
答案 0 :(得分:0)
我相信这样的事情应该有效:
public static void answerCall()
{
for(int i = 0; i < customerList.Length - 1; i++)
{
if(customerList[i+1] != null)
{
customerList[i] = customerList[i+1];
}
}
customerList[customerList.Length] = null;
}
它只是遍历数组(最后一个值除外), 并将每个值分配给下一个值。
我也不完全确定
答案 1 :(得分:0)
你不需要counter--并且int不能为null,它是0,因为它是一个原始类型:
public static void answerCall() {
for (int i = 0; i < customerList.length-1; i++)
{
if (customerList[i + 1] == 0) {
customerList[i] = 0;
} else if (customerList[i + 1] != 0) {
customerList[i] = customerList[i + 1];
}
}
}
答案 2 :(得分:0)
很难理解你的问题,但这可能会有所帮助吗?
Public static void answerCall() {
/*
for loop iterates through list backwards moving elements forward until index 0
*/
for (int i = 0; i < customerList.length - 1; i++) {
if (i != 0) {
customerList[CustomerList.length - i] = customerList[customerList.length - (i + 1)];
} else {
customerList[0] = 0;
}
}
}