我正在开发一个包含多个课程的程序。如果需要,我会发布所有完整的五个课程,但这是发生了什么。它编译时没有编译错误。但是,只要客户有多个交易,程序就会将到达时间设置为零。显然,进行多次交易的每个客户都没有达到0.所以,这就是问题所在。我确定了代码行。它是一个构造函数:
public Transaction(String[] line){
this(
Integer.parseInt(line[0]),
Integer.parseInt(line[1]),
//check returning customer
line[2].equals("") ? 0 : Integer.parseInt(line[2]),
line[3]
);
}
那是该类中的第二个构造函数。有五个班。现在,无论我多么难以找到一些东西,我都可以改变存储在变量中的第三个值(第[2行])来保存一个值,只要它是“”,这样当有一个实际的不同值时,它将该值仅分配给变量,然后该变量将成为到达时间,直到明确说明不同为止。这不起作用。我所做的只是通过将0更改为另一个统一值来更改数字,并且它不应该是统一值。我在另一个类中查看该程序的另一部分,其中我遍历事务列表:
String [] line = input.nextLine().split(",");
Transaction transaction = new Transaction(line);
transactions.enqueue(transaction);
}
//Serving all customers
while(!(transactions.isEmpty())){
//help and dequeue first person
Transaction lastTransaction = transactions.dequeue();
//save info
Customer lastCustomer;
if(customers.size()>0){
Customer previousCustomer = customers.get(customers.size() - 1);
if (previousCustomer.getCustID()==lastTransaction.getCustID()){
//any returning customer
lastCustomer=previousCustomer;
lastCustomer.addTransaction(lastTransaction);
}
else{
//every new customer
lastCustomer = new Customer(lastTransaction.getCustID(), lastTransaction.getArrivalTime(), previousCustomer.getTimeDeparted());
lastCustomer.addTransaction(lastTransaction);
customers.add(lastCustomer);
}
}
else{
//first customer
lastCustomer = new Customer(lastTransaction.getCustID(), lastTransaction.getArrivalTime(), 0);
lastCustomer.addTransaction(lastTransaction);
customers.add(lastCustomer);
}
}
我想查看最后一笔交易并查看到货时间是否为空白,如果是,请不要更新。我现在正试图做到这一点,而不是改变数字。但我不知道我可以在哪里改变这种状况。也许我只是在深夜很累,需要一些闭眼。但我认为如果我专注于while循环,我将能够改变条件,以便它适应变量。只是我无法弄清楚那个条件会是什么。甚至需要成为条件吗?例如,如果我将else更改为else,并添加条件,那么我将其作为其他内容添加?所以我看不出我能做些什么来完成这项工作。如果我改变了第一个while循环,我看不出有什么可能会改变它会有效。
如有必要,我会发布所有五个类的代码。顺便说一句,如果这听起来像我没有付出足够的努力让我知道。我现在有点累了,所以可能就是这样。
这是我的输出:
Customer ID: 1
Arrived: 0
Waiting Time: 0
At Teller: 0
Transaction Time: 7
Departure time: 7
Customer ID: 2
Arrived: 0
Waiting Time: 7
At Teller: 7
Transaction Time: 3
Departure time: 10
Customer ID: 3
Arrived: 0
Waiting Time: 10
At Teller: 10
Transaction Time: 7
Departure time: 17
Customer ID: 4
Arrived: 8
Waiting Time: 9
At Teller: 17
Transaction Time: 2
Departure time: 19
Customer ID: 5
Arrived: 9
Waiting Time: 10
At Teller: 19
Transaction Time: 3
Departure time: 22
Customer ID: 6
Arrived: 0
Waiting Time: 22
At Teller: 22
Transaction Time: 5
Departure time: 27
Customer ID: 7
Arrived: 0
Waiting Time: 27
At Teller: 27
Transaction Time: 9
Departure time: 36
一旦我完成了这项工作,我可以担心将其放入表格格式,但这不是我认为我需要帮助的。