hello everyone,
I am having an issue with getting my java class coding to complete the task.
Here it is: I'm coding a a Java class called Roadway that meets the following UML specification:
Roadway
-length : double
-numLanes : int
-laneWidth : double
-costFactor : double
+Roadway(initLength:double, initLanes: int)
+setCostFactor(factor:double):void
-surfaceArea():double
+printCost():void
The methods in the above should do the following:
• the constructor should give initial values to the length and numLanes attributes from the
corresponding parameters, and give the laneWidth attribute the value 8.5.
• the setCostFactor method should set the costFactor attribute to the method’s input
parameter value.
• the surfaceArea method should calculate and return the surface area of the road. Note that
this could be calculated as the product of the number of lanes in the road times the width of
one lane times the length of the road.
• the printCost method should print the cost of the road to the screen. You MUST utilize the
surfaceArea method to accomplish this. Note that the cost of the road is just its surface
area times its cost factor.
Driver code class:
Java Code:public class RoadwayDriver { /* Note that this driver class does not have any attributes; It merely uses object(s) of another class as needed */ public static void main(String args[]) { int myRoadNumLanes; // how wide is our road (in lanes) ? double myRoadLength, // how long is our road (in feet) ? costFactor; // how much does a square foot cost? // we’ll be reading fromt he keyboad, build a Scanner accordingly Scanner kbd = new Scanner(System.in); // prompt for and get the road length System.out.print("Please enter the length of the new road:"); myRoadLength = kbd.nextDouble(); // prompt for and get the number of lanes in the road System.out.print("Please enter the number of lanes for the new road:"); myRoadNumLanes = kbd.nextInt(); // prompt for and get the cost per square foot System.out.print("Please enter the cost factor:"); costFactor= kbd.nextDouble(); // build up a roadway object using values read in Roadway myRoad = new Roadway(myRoadLength, myRoadNumLanes); // set the roadway’s cost factor from the value read in myRoad.setCostFactor(costFactor); // print out the roadway’s cost. myRoad.printCost(); } }
when i run the program, the console terminates after "Please enter the cost factor" question so i am unable to get the cost of the roadway.public class Roadway { private double length; private int numLanes; private double laneWidth; private double costFactor; private double printCost; public Roadway(double initLength, int initLanes) { length = initLength; numLanes = initLanes; laneWidth = 8.5; } public void costFactor(double factor) { costFactor = factor; } public double getCostFactor() { return costFactor; } public void setCostFactor(double costFactor) { this.costFactor = costFactor; } private double surfaceArea() { double surfaceArea = length * numLanes * laneWidth; return surfaceArea; } public void printCost() { printCost = (surfaceArea() * costFactor); } public double getPrintCost() { return printCost; } public void setPrintCost(double printCost) { this.printCost = printCost; }
if anyone could help me as soon as possible, i would really appreciate.
thanks