ProPatto16
- 323
- 0
dfjchjd
Last edited:
The discussion revolves around a Java programming problem related to calling methods within a class, specifically in the context of a parking fee calculation program. Participants are exploring how to properly implement method calls and handle user input for entry and exit times.
Participants are actively engaging with the original poster's code, offering suggestions for improvement and raising questions about specific parts of the implementation. There is a recognition of the need for error handling in user input, indicating a productive direction in the discussion.
There is mention of a preference for posting code in a specific format to maintain readability, and the original poster acknowledges the absence of error handling in their current implementation.
It would be better if you code post the code. Use the code tags when you post and it will stay indented.ProPatto16 said:Not sure why it's centred that thread, hope it's still readable
// Parking.java
// Class to calculate parking fee
import java.util.Scanner; // import Scanner
public class Parking
{
int charge; // charge for parking
int receipt; // receipt total of all customers
int customer; // number of customers
int entryTime; // user inputs entry time
int exitTime; // user inputs exit time
int timeDiffMin; // time difference in minutes
int timeDifference; // time difference
public void beginCharging()
{
Scanner input = new Scanner ( System.in ); // create new Scanner
customer = 1; // initialize customer count
System.out.println( "\nHello and welcome!" );
System.out.println( "This is a parking fee program." );
while ( customer <= 9)
{
System.out.printf(
"Please enter entry and exit time for customer %d\n",
customer ); // prompt
System.out.print( "Entry Time: " ); // input entry time
entryTime = input.nextInt();
System.out.print( "Exit time: " ); // input exit time
exitTime = input.nextInt();
[B]// This is all that you need.
calculateCharges();[/B]
System.out.printf( "Thank you, your charge is $%d\n\n",
charge ); // display charge
customer = customer + 1;
receipt = receipt + charge;
} // end while statement
System.out.println( "Thank you for using this program" );
System.out.printf( "Total of all charges: $%d", receipt );
System.out.println( "Have a nice day!" );
} // end method beginCharging
public void calculateCharges()
{
timeDiffMin = (((exitTime/100)*60)+(exitTime%100))
-(((entryTime/100)*60)+(entryTime%100));
timeDifference = ((timeDiffMin/60)*100)+(timeDiffMin%60);
if ( timeDifference > 800 )
charge = 20;
else if ( timeDifference > 700 )
charge = 18;
else if ( timeDifference > 600 )
charge = 16;
else if ( timeDifference > 500 )
charge = 14;
else if ( timeDifference > 400 )
charge = 12;
else if ( timeDifference > 300 )
charge = 10;
else if ( timeDifference > 200 )
charge = 8;
else if ( timeDifference > 100 )
charge = 6;
else if ( timeDifference > 30 )
charge = 4;
else if ( timeDifference > 15 )
charge = 2;
else charge = 0;
} // end method calculateCharges
} // end class Parking