如何获得Java之前的到达时间

时间:2016-04-30 22:31:17

标签: java transactions format

我正在开发一个包含多个课程的程序。如果需要,我会发布所有完整的五个课程,但这是发生了什么。它编译时没有编译错误。但是,只要客户有多个交易,程序就会将到达时间设置为零。显然,进行多次交易的每个客户都没有达到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 

一旦我完成了这项工作,我可以担心将其放入表格格式,但这不是我认为我需要帮助的。

0 个答案:

没有答案