在java中将数组索引0更改为1

时间:2017-11-20 21:39:03

标签: java arrays

必须从队列中删除索引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--;
        }

    }

}

}

3 个答案:

答案 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;
        }
   }
}