0

Here is my program with Pseudo code which is yukville, :lol:
but not sure i'm on the right track or have straid, any help would be appreiciated.

Exhibit A-1: UML Class Diagram of Class Garage
Garage

+openForBusiness()
-calculateCharges(hoursParked : double): double


Exhibit A-2: Pseudo code for openForBusiness Method of Class Garage
A-2-01) INSTANTIATE a local variable named input of the Scanner class
A-2-02) Define a local int variable named customerNumber and initialize it to 1
A-2-03) Define a local double variable named totalParkingReceipts and initialize it to 0.0
A-2-04) Define a local double variable named parkingCharges
A-2-05) Define a local double variable named hoursParked
A-2-06) Define a local String variable named hoursParkedPrompt and initialize it to
“Enter number of hours parked for customer %2d, or <ctrl>z to stop:Δ[1]
A-2-07) Define a local String variable named programOutput and initialize it to “\nSummary of Today’s Receipts:\n”
A-2-08) CONCATENATE line one of output column headings onto programOutput using method format[2] of the String class:
programOutput += String.format(“\n\t%8sΔΔΔ%6s ΔΔΔ%7s”,”Customer”,”HoursΔ”,”Parking”);
A-2-09) CONCATENATE line two of output column headings onto programOutput using method format of the String class:
programOutput += String.format(“\n\t%8sΔΔΔ%6s ΔΔΔ%7s”,”ΔNumberΔ”,”Parked”,”ΔΔFeeΔΔ”);
A-2-10) DISPLAY the task / programmer identification line followed by a blank line
A-2-11) DISPLAY the “Parking Attendant Activity” heading followed by a blank line
A-2-12) Using method printf, DISPLAY the following prompt
(“\tΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔ” + hoursParkedPrompt, customerNumber)
A-2-13) WHILE (input.hasNext())
A-2-13-1) ASSIGN input.nextDouble() TO hoursParked
A-2-13-2) ASSIGN calculateCharges (hoursParked)[3] TO parkingCharge
A-2-13-3) ADD parkingCharge TO totalParkingReceipts
A-2-13-4) CONCATENATE the following formatted string onto programOutput:
(“\n\t%8dΔΔΔ%6.1fΔΔΔ$%6.2f”, customerNumber, hoursParked, parkingCharge)
A-2-13-5) Using method printf, DISPLAY the following prompt:
(“\tCharge for customer %2d is $%6.2f;Δ” + hoursParkedPrompt,
customerNumber, parkingCharge, ++customerNumber)
A-2-14) END WHILE
A-2-15) CONCATENATE the following formatted string onto programOutput:
(\n\t%-17sΔΔΔ$%6.2f”, “ΔΔΔTotal Receipts”, totalParkingReceipts)
A-2-16) Using method println, DISPLAY programOutput
A-2-17) Using method println, DISPLAY a blank line followed by the “End of program” line


Exhibit A-3: Pseudo code for calculateCharge Method of Class Garage
A-3-01) Define a named constant[4] for minimumParkingCharge with a value of 2.0;
A-3-02) Define a named constant for maximumParkingCharge with a value of 10.0;
A-3-03) Define a named constant for maximumParkingHoursForMinimumParkingCharge with a value of 3.0;
A-3-04) Define a named constant for chargePerHourAfterMinumum with a value of 0.5.
A-3-05) ASSIGN minimumParkingCharge TO parkingCharge
A-3-06) IF hoursParked > maximumParkingHoursForMinimumParkingCharge THEN
ASSIGN minimumParkingCharge plus product of chargePerHourAfterMinumum and
Math.ceil(hoursParked minus maximumParkingHoursForMinimumParkingCharge)
TO parkingCharge
END-IF
A-3-07) IF parkingCharge IS GREATHER THAN maximumParkingCharge THEN
ASSIGN maximumParkingCharge TO parkingCharge
END IF
A-3-06) RETURN parkingCharge

Exhibit B-1: UML Class Diagram of Class GarageTest
GarageTest

+main(args[ ] : String)


Exhibit B-2: Pseudo code for main Method of Class GarageTest
This method has no return value and has one parameter: arg[ ] as type String.
B-2-01) INSTANTIATE object application of class Garage
B-2-02) CALL application’s openForBusiness method


[1] The Greek letter delta Δ in a string is used represent a single space in the string. As a result, replace all Δ characters shown in a string with a single space character.

[2] Use the format method of the String class to format this string. This is similar to using the printf method with format specifiers to format output. The syntax is: String.format(“My %s has %d numbers: %d, %.2f, %d”, “string”, 3, 1, 2.0, 3);

[3] This is a method call.

[4] Named constants are defined as variables with the “final” keyword as a prefix. The value associated with a named constant cannot be changed at run time. In other words, a named constant cannot appear on the left-hand side of the assignment operator in an assignment statement. An example of a named constant is: final double pi = 3.14;

import java.util.Scanner; // program uses class Scanner
public class Garage
{
 private static String hoursParkedPrompt;
 private static Object programOutput;
 // application starting point
 public static void main( String args[] )
 {
  // Instantiate a loacl variable named input of Scanner class
  Scanner input = new Scanner( System.in );
  int customerNumber = 1;
  double totalParkingReceipts = 0.0;
  double ParkingCharges;
  double hoursParked;
  hoursParkedPrompt = "Enter number of hours parked for customer %2d, or <ctrl>z to stop: ";
  String programOutput = "\nSummary of Today's Receipts:\n";
  String line1 = programOutput += String.format ("\n\t%8s   %6s   %7s","Customer","Hours ","Parking");
  String line2 = programOutput += String.format ("\n\t%8s   %6s   %7s"," Numbers ","Parked","  Fee  ");
  System.out.println("\nTask 09-02, Ch06, Programmed by Michael Statham\n");
  System.out.println("\nParking Attendant Activity:\n");
  System.out.printf("\t                                   "+hoursParkedPrompt, customerNumber);
  
        while (input.hasNext());
  hoursParked = input.nextDouble();
  Object parkingCharge = calculateCharges(hoursParked);
  
  
  String.format = programOutput:("\n\t%8d   %6.1f   $%6.2f",customerNumber,hoursParked,parkingCharge);
  System.out.printf("\tCharge for customer %2d is $%6.2f; " + hoursParkedPrompt,
         customerNumber, parkingCharge, ++customerNumber);
  }// end while
     String.format = programOutput:("\n\t%-17s   $%6.2f","   Total Receipts", totalParkingReceipts);
  System.out.println("programOutput");
  System.out.println("\nEnd of program");
      private static Object calculateCharges(double hoursParked) {
  // TODO Auto-generated method stub
  return null;
  final double minimumParkingCharge = 2.0;
  final double maximumParkingCharge = 10.0;
  final double maximumParkingHoursForMinimumParkingCharge = 3.0;
  final double chargePerHourAfterMinimum = 0.5;
  
  double parkingCharge = minimumParkingCharge;
  
  if (hoursParked > maximumParkingHoursForMinimumParkingCharge); 
    parkingCharge = minimumParkingCharge + chargePerHourAfterMinimum +
    Math.ceil(hoursParked - maximumParkingHoursForMinimumParkingCharge);
    
     // end if
     if (parkingCharge > maximumParkingCharge);
      parkingCharge = maximumParkingCharge;
      
        //end if
     return parkingCharge;
     
 }
}
1
Contributor
0
Replies
1
Views
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.