Logout

November 2014 RollingStock & Trains


RollingStock.java
1    package november2014_rollingStock_trains; 
2     
3    public class RollingStock 
4    { 
5        private int mIDNumber; 
6        private double mWeight; 
7        public RollingStock(int ID, double weight) 
8        { 
9            mIDNumber = ID; 
10           mWeight = weight; // Weight is in kilograms 
11       } 
12       // Accessor methods 
13       public double getWeight() { return mWeight; } 
14       public int getID() { return mIDNumber; } 
15       //... 
16       // Other methods 
17       //... 
18   }
Engine.java
1    package november2014_rollingStock_trains; 
2     
3    public class Engine extends RollingStock 
4    { 
5        private double mPullingWeight; // maximum weight engine can pull 
6        public Engine(int ID) 
7        { 
8            super(ID, 120000); // Engines weigh 120000 kilograms 
9            mPullingWeight = 1400000; // Engines can pull 1400000 kilograms 
10       } 
11       // Accessor methods 
12       public double getWeight() { return super.getWeight(); } 
13       //... 
14       // Other methods 
15       // ... 
16   } 
17   
Wagon.java
1    package november2014_rollingStock_trains; 
2     
3    public class Wagon extends RollingStock 
4    { 
5        private Parcel[] mParcels; 
6        private int mParcelCount; 
7     
8        public Wagon(int ID) 
9        { 
10           super(ID, 32000); // Empty wagon weighs 32000 kilograms 
11           mParcels = new Parcel[100]; 
12           mParcelCount = 0; 
13       } 
14    
15       // Accessor methods 
16       public int getWagonID() { return this.getID(); } 
17    
18       public double getWeight() 
19       { 
20       // Code to be written 
21           return -999;//just to get rid of the red squigglies of the return statement 
22       } 
23       //... 
24       // Other methods 
25       //... 
26   } 
27   
Train.java
1    package november2014_rollingStock_trains; 
2     
3    public class Train 
4    { 
5        private Engine[] mEngines; 
6        private Wagon[] mWagons; 
7        private int mEngineCount; 
8        private int mWagonCount; 
9        private int mTrainNumber; 
10       private double mWeight; // Total weight in kilograms 
11    
12       public Train(int number) 
13       { 
14           mTrainNumber = number; 
15           mEngines = new Engine[6]; // The train can have up to 6 engines 
16           mEngineCount = 0; 
17           mWagons = new Wagon[100]; // The train can have up to 100 wagons 
18           mWagonCount = 0; 
19           mWeight = 0; 
20       } 
21    
22       public void addEngine( Engine newEngine ) 
23       { 
24           mEngines[mEngineCount] = newEngine; 
25           mEngineCount++; 
26       } 
27    
28       public Engine removeEngine() 
29       { 
30           mEngineCount--; 
31           return mEngines[mEngineCount]; 
32       } 
33    
34       public void addWagon( Wagon newWagon ) 
35       { 
36           mWagons[mWagonCount] = newWagon; 
37           mWagonCount++; 
38       } 
39    
40       public Wagon removeWagon() 
41       {// Code to be written 
42           return new Wagon(-999);//just to get rid of the return red squigglies 
43       } 
44    
45       public double getWeight() 
46       {// Code to be written 
47           return -999;//just to get rid of the return red squiggies 
48       } 
49       //... 
50   }
Parcel.java
1    package november2014_rollingStock_trains; 
2     
3    public class Parcel 
4    { 
5        private int trackingID; 
6        private double weight; 
7        public String destinationAddress; 
8        public String originAddress; 
9     
10       public Parcel(int ID) 
11       { 
12           trackingID = ID; 
13           weight = 0; 
14       } 
15    
16       public void setWeight(double newWeight) { weight = newWeight; } 
17       public double getWeight() { return weight; } 
18   } 
19   
MainForNovember2014.java
1    package november2014_rollingStock_trains; 
2     
3    public class MainForNovember2014 { 
4        public static void main(String[] args) { 
5            Train A = new Train(123); 
6            Engine B = new Engine(7); 
7            A.addEngine(B); 
8            Wagon C = new Wagon(23); 
9            A.addWagon(C); 
10           Wagon D = new Wagon(66); 
11           A.addWagon(D); 
12           Wagon E = new Wagon(71); 
13           A.addWagon(E); 
14           A.addEngine(new Engine(9)); 
15    
16    
17           Wagon F = A.removeWagon(); 
18           F = A.removeWagon(); 
19           A.addWagon(new Wagon(214)); 
20       } 
21   } 
22