我想将10个类型为CustomerQueue的记录添加到位于CustomerQueue本身内的CustomerQueue数组中,然后打印出该数组。问题在于,它一直“排队”到位置0,因为对于每个CustomerQueue对象,后部都重置为0。对此有任何解决方法吗?

主要:

CustomerQueue cQ = null;
    for (int i = 0; i < 10; i++) {
        cQ = new CustomerQueue(1, 0, false);
        cQ.enqueue(cQ);
        System.out.println(cQ.arrivalTime);
    }
System.out.print("\n");

    System.out.println(Arrays.toString(cQ.array));


构造函数:

public CustomerQueue(double aT, double tT, boolean pM) {
    aT = (double) (Math.random() * (100 - 1 + 1)) + 1;
    this.arrivalTime = aT;
    this.tallyTime = tT;
    this.paymentMethod = pM;
    capacity = 500;
    front = 0;
    rear = -1;
    count = 0;
}


入队:

public void enqueue(CustomerQueue cQ) {
    if (isFull()) {
        System.out.println("OverFlow\nProgram Terminated");
        System.exit(1);
    }

    rear = (rear + 1);
    array[rear] = cQ;
    count++;
}

最佳答案

更改:

CustomerQueue cQ = null;
    for (int i = 0; i < 10; i++) {
        cQ = new CustomerQueue(1, 0, false);
        cQ.enqueue(cQ);
        System.out.println(cQ.arrivalTime);
    }




CustomerQueue cQ = null;
    for (int i = 0; i < 10; i++) {
        CustomerQueue subQueue = new CustomerQueue(1, 0, false);
        cQ.enqueue(subQueue);
        System.out.println(subQueue.arrivalTime);
    }


如果您的要求超出此范围,请发表评论。

08-25 19:16