Street toString()
- Print street details and fields. - Print scaled street density.
This commit is contained in:
parent
86651b3a91
commit
336106c7ed
@ -135,7 +135,7 @@ public class Street {
|
||||
if(vehicle.getRoute().getStreets().length > nextIndex)
|
||||
return (vehicle.getRoute().getStreets()[nextIndex]);
|
||||
else
|
||||
return null;
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getNumberOfBuses() {
|
||||
@ -153,12 +153,42 @@ public class Street {
|
||||
}
|
||||
return number;
|
||||
}
|
||||
|
||||
|
||||
public boolean isContainsBuses() {
|
||||
for (Vehicle vehicle : this.vehicles) {
|
||||
if (vehicle instanceof Bus)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
StringBuilder printedStreet = new StringBuilder();
|
||||
//Imagine steert is 32 units in lengths (scale down)
|
||||
for (int i = 0; i < 32; i++){
|
||||
printedStreet.append("----");
|
||||
}
|
||||
printedStreet.append("\n");
|
||||
//This is vary bad. Should copy vehicles list and reduce when a vehicle is counted;
|
||||
for (int i = 0; i < 32; i++){
|
||||
int cars = 0;
|
||||
for (Vehicle vehicle : vehicles){
|
||||
double realLocation = vehicle.getCurrentLocation();
|
||||
int scaledLocation = (int)((realLocation*32) / this.length);
|
||||
if (scaledLocation == i) cars++;
|
||||
}
|
||||
//if 'cars' is 4 digits or more it will distort the output
|
||||
printedStreet.append(String.format("%03d ", cars));
|
||||
}
|
||||
printedStreet.append("\n");
|
||||
for (int i = 0; i < 32; i++){
|
||||
printedStreet.append("----");
|
||||
}
|
||||
return String.format("Street name: %s, Length: %f, Lanes: %d, Vehicles: %d\nDensity:\n%s\n",
|
||||
name.name(),
|
||||
length,
|
||||
numberOfLanes,
|
||||
vehicles.size(),
|
||||
printedStreet.toString());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user