我想将 CustomerQueue 类型的 10 条记录添加到位于 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);
}
如果您的要求与此不同,请发表评论。
关于java - 如何使用for循环将不同的对象添加到队列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57886607/