Intended to be cloned down as an eclipse workspace, then open the projects.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

60 lines
2.0 KiB

package uwstout.courses.cs144.examples;
import java.text.DecimalFormat;
import java.util.Scanner;
/**
* Reads two delivery points from the user, and outputs the distance between the
* origin, and the two in city blocks.
*
* Reads in two delivery points (X Y) from the user on, and calculates the
* distance between (0,0), the first point, and the last point in city blocks.
* This calculated value is then output to the console.
*
* @author Brett Bender
* @version 2022.09.15
*
*/
public class Distance {
private final static Stop ORIGIN_STOP = new Stop(0, 0);
/**
* Calculates the city block distance between points.
*
* Reads in two delivery points from System.in, entered in an X Y pair. These
* points are then used to calculate the distance (in city blocks) between
* (0,0), the first point, and the last point. This calculated value is then
* output to the console.
*
* @param args The arguments passed from the command line - not used
*/
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("#,##0.00");
// Read in route name
System.out.print("Enter route name: ");
String routeName = scnr.nextLine();
Stop stop1 = Stop.readStop(scnr, "Enter first delivery point X Y coordinates: ");
Stop stop2 = Stop.readStop(scnr, "Enter second delivery point X Y coordinates: ");
System.out.printf("%s to %s to %s\n", ORIGIN_STOP, stop1, stop2);
// Calculate
/// Starting at 0,0 and going to the two stops in sequence
int blockDistanceTraveled = ORIGIN_STOP.getBlockDistance(stop1) + stop1.getBlockDistance(stop2);
double directDistanceTraveled = ORIGIN_STOP.getDistance(stop1) + stop1.getDistance(stop2);
// Output
System.out.println("Stop 1: " + stop1);
System.out.println("Stop 2: " + stop2);
System.out.printf("Total distance travelled (in city blocks) for route %s: %d\n", routeName, blockDistanceTraveled);
System.out.printf("The direct distance is: %s\n", df.format(directDistanceTraveled));
scnr.close();
}
}