java - 如何使用for循环将不同的对象添加到队列中

标签 java queue

我想将 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/

相关文章:

java - 插入/排序到循环优先级队列的算法

java - 是否可以将项目拖到 RecyclerView 之外?

java - Android 4.3 及更早版本上的潜在不安全随机数

php - laravel 队列 - 同步驱动程序如何工作?它是在单独的进程/线程中执行还是在主执行线程中执行?

python - 让 Python 等待函数完成后再继续执行程序

c# 将 Remove(int index) 方法添加到 .NET Queue 类

java - 从java中的控制台读取密码

java - 'parseInt(String, radix)' 是如何工作的?

java - 从Windows命令行程序生成多线程Java程序,spawner在spawnee结束之前不会结束。如何防止挂起?

通过 C++ 互操作或其他方式进行 C# 一流延续?