/** * ========================================================= * MetroStation.java: Create metro station object. * The class node extends class node... * * Written by: Mark Austin May 2006 * ========================================================= */ import java.lang.Math; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class MetroStation extends Node { protected String sName; protected List onTrack; protected boolean parking; // Constructor methods .... public MetroStation( String sName, double dX, double dY ) { super( dX, dY ); // Create an object of type Node this.sName = sName; // Initialize metro station name.. onTrack = new ArrayList(); // Initialize array list of line colors parking = false; // Default parking is false .... } // Get X and Y coordinates of metro station public double getX() { return dX; } public double getY() { return dY; } // Set parking node ... public void setParking( boolean parking ) { this.parking = parking; } // Assign metro station to a track .... public void add( String track ) { onTrack.add ( track ); } // Convert description of metro station to a string ... public String toString() { String s = "MetroStation(\"" + sName + "\")\n" + " Coordinates = (" + dX + "," + dY + ")\n" + " Parking = " + parking + "\n"; // Walk along array list and add line names to string "s" .... if ( onTrack.size() > 0 ) { s = s.concat( " Track = { " ); for (int i = 0; i < onTrack.size(); i = i + 1) s = s.concat( onTrack.get(i) + " "); s = s.concat("}\n"); } return s; } // Exercise methods in the metro station class ..... public static void main( String args[] ) { // Create "College Park" station at coordinate (80,80)... MetroStation sA = new MetroStation("College Park", 3.5, 8.0 ); sA.setParking( true ); sA.add ( "Green" ); System.out.println( sA.toString() ); // Create "Fort Totten" station at coordinate (70,70)... MetroStation sB = new MetroStation("Fort Totten", 0.0, 2.0 ); sB.setParking( true ); sB.add ( "Green" ); sB.add ( "Red" ); sB.add ( "Purple" ); sB.add ( "Violet" ); System.out.println( sB.toString() ); } }