intermediate/Customer

From ggc

Jump to: navigation, search

01 package intermediate;
02 
03 public class Customer
04 {
05   /**time to enter in seconds since start of simulation*/
06   private double enterTime;
07   private double enterLaneTime;
08   private double exitLaneTime;
09   private int items;
10   private int id;
11   private static int customersCreated=1;
12 
13   public Customer()
14   {
15     enterTime=-1;
16     enterLaneTime=-1;
17     exitLaneTime=Double.POSITIVE_INFINITY;
18     items=-1;
19     id=customersCreated;
20     customersCreated++;
21   }
22 
23   public Customer(double enterStore, double enterLane, double exitLane, int itemsBought)
24   {
25     enterTime=enterStore;
26     enterLaneTime=enterLane;
27     exitLaneTime=exitLane;
28     items=itemsBought;
29     id=customersCreated;
30     customersCreated++;
31   }
32 
33   public void setItems(int items)
34   {
35     this.items=items;
36   }
37 
38   public void setEnterStoreTime(double time)
39   {
40     enterTime=time;
41   }
42 
43   /**must be called after setItems*/
44   public void setShoppingRate(double timePerItem)
45   {
46     enterLaneTime=timePerItem*items+enterTime;
47   }
48 
49   public double getEnterLaneTime()
50   {
51     return enterLaneTime;
52   }
53 
54   public double getServiceTime()
55   {
56     return exitLaneTime-enterLaneTime;
57   }
58 
59   public void setExitLaneTime(double time)
60   {
61     exitLaneTime=time;
62   }
63 
64   public double getExitLaneTime()
65   {
66     return exitLaneTime;
67   }
68 
69   public int getItems()
70   {
71     return items;
72   }
73 
74   public String toString()
75   {
76     return "Customer#"+id;
77   }
78 
79   public static void main(String[] args)
80   {
81     Customer c=new Customer();
82     System.out.println(c);
83     Customer c2=new Customer();
84     System.out.println(c2);
85     c2.setEnterStoreTime(5);
86     c2.setItems(10);
87     c2.setShoppingRate(0.5);
88     System.out.println(c2+" enters at 5 seconds, shops for 10 items"+
89                        " at a rate of 0.5 seconds per item\n"+"and enters the lane at time "+
90                        c2.getEnterLaneTime());
91     c2.setExitLaneTime(15);
92     System.out.println(c2+" exits the lane at time 15");
93     System.out.println(c2+" has a service duration of "+c2.getServiceTime());
94 
95   }
96 }


Download/View intermediate/Customer.java





Views
Personal tools
Add to 
del.icio.usAdd to 
diggAdd to 
FacebookAdd to 
favoritesAdd to 
GoogleAdd to 
MySpaceAdd to 
PrintAdd to 
SlashdotAdd to 
StumbleUponAdd to 
Twitter