我之前发布了这个问题,并请求如何处理它的帮助。我最终创建了一个客户类,该客户类生成一个随机的名字和姓氏,并且每次创建新的客户对象时都会为客户分配随机数量的杂货商品。
以下是代码
import java.util.Random;
public class Customer {
private String lastName;
private String firstName;
private int groceryItems;
private String[] last = { "Jordan", "James", "Bryant", "Bird", "Wade",
"Bosh", "Griffin", "Durant", "WestBrook", "Anthony" };
private String[] first = { "Michael", "Lebron", "Kobe", "Larry", "Dwayne",
"Chris", "Blake", "Kevin", "Russell", "Carmelo" };
public Customer() {
Random pickLast = new Random();
lastName = last[pickLast.nextInt(10)];
Random pickFirst = new Random();
firstName = first[pickFirst.nextInt(10)];
Random pickItems = new Random();
groceryItems = pickItems.nextInt(25);
}
public String getlast() {
return lastName;
}
public String getFirst() {
return firstName;
}
public int getItems() {
return groceryItems;
}
public void display() {
System.out.println("First Name: " + firstName + " Last Name: "
+ lastName + " Items Purchased: " + groceryItems);
}
}
QUEUE代码
public class Queue {
private int maxSize;
private int[] queArray;
private int front;
private int rear;
private int nItems;
public Queue(int s) {
maxSize = s;
queArray = new int[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
public void insert(int j) {
if (rear == maxSize - 1)
rear = -1;
queArray[++rear] = j;
nItems++;
}
public int remove() {
int removed = queArray[front++];
if (front == maxSize)
front = 0;
nItems--;
return removed;
}
public int peek() {
return queArray[front];
}
public boolean isEmpty() {
return (nItems == 0);
}
public boolean isFull() {
return (nItems == maxSize);
}
public int size() {
return nItems;
}
public void display() {
System.out.println("First Inserted Item to Last Inserted Item");
if (rear < front && (!isEmpty())) {
for (int i = front; i < maxSize; i++) {
System.out.println(queArray[i]);
}
for (int i = 0; i <= rear; i++) {
System.out.println(queArray[i]);
}
}
else if (front >= rear && (!isEmpty())) {
for (int i = front; i <= rear; i++) {
System.out.println(queArray[i]);
}
}
else {
System.out.println("Queue is Empty!");
}
}
}
现在我想知道接下来会创造什么?我只是在寻找指导或一步一步的方法,因为它会帮助我学习。不寻找代码。我在想,现在我有一个客户类,我需要创建一个可以容纳每个客户的队列。我知道如何编写一个简单的int或char队列的代码,但我不清楚这个特定队列的要求是什么,因为它保存每个客户对象。
如果我的客户类代码中的任何地方出错,请纠正我,如果有人能为我提供下一阶段的步骤以及我应该做什么,我将不胜感激。
如果问题措辞不当,我很抱歉,因为我的英语不好,而且我确信如果我可以让这个小程序独立工作,我将更好地理解java和面向对象的编程。
答案 0 :(得分:2)
现在你应该添加不同的人物阵容(模拟不同的结账行)。所以我要做的就是为你想要的每个结账线创建一个队列。然后,正如问题所述,当按下某个键时,它会创建一个新客户。客户需要确定要去哪条线路,因此可能将其分配给总项目数量最少的一条(或者如果您想让它更容易,则为总人数),并且更喜欢距离最近的线路,比如左侧,在多个最短队列的情况下。然后你需要让顾客购买他们的物品然后离开。如果您决定按下按钮,按问题所示,您可以对其进行设置,以便每次按下该按钮时,您都会在每个客户中调用一个方法(仅限于每个客户的方法) line,使用数组索引0)将项目减少一个,并在客户对象达到零时从队列中删除客户对象,以模拟它们离开,另一个客户取代它。现在你需要以某种方式向用户展示这些东西。也许只是一个简单的&#34; [客户名称]加入了这一行。目前的阵容是:第1行:2人第2行:5人&#34;等等,并且#34; [客户名称]在购买杂货后离开了这条线。&#34;
我希望这就是你想要的,我希望它有所帮助。