Java Calling Methods: Learn How to Use Them

  • Thread starter ProPatto16
  • Start date
  • Tags
    Java
In summary, the conversation discusses a program for calculating parking fees and how to call a method in the same class. The correct section for posting programming problems is also mentioned. The conversation includes code for the Parking class and a suggestion for adding error handling. The expert also compliments the programmer's Java skills, noting that they have only been coding for three weeks.
  • #1
ProPatto16
326
0
dfjchjd
 
Last edited:
Physics news on Phys.org
  • #2
I'm not sure what you're trying to figure out. Calling another method in the same class isn't difficult. Could you post what you have so far?

As far as the correct thread, programming problems usually go in the Engineering, Comp Sci, & Technology section.
 
  • #3
fhgfj
 
Last edited:
  • #4
Not sure why it's centred that thread, hope it's still readable
 
  • #5
ProPatto16 said:
Not sure why it's centred that thread, hope it's still readable
It would be better if you code post the code. Use the code tags when you post and it will stay indented.
 
  • #6
yjfj
 
Last edited:
  • #7
All that you have to do is to put the method call in where you've indicated.
You don't need to call it from the ParkingTest class also. I'm not sure about other parts such as why you are dividing by 100 and multiplying by 60. Are your inputs intended to be minutes or hours?

Code:
// 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][COLOR="Blue"]// This is all that you need.
                    calculateCharges();[/COLOR][/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
 
  • #8
dthg
 
Last edited:
  • #9
You're welcome. The military time makes sense now - it just wasn't jumping out at me. One thing that I always recommend is to put in more error handling. For example, if you enter a decimal point or alphabetical character, the program blows up and ends. The best test is entering things that don't make sense - because that is exactly what the users will eventually do.

BTW, your Java code is very good for someone who has only been doing it for three weeks.
 
Last edited:
  • #10
Havnt really done any error handling yet. so i just put in the welcome messages a message about how to enter the time correctly haha :)
thanks!
 

FAQ: Java Calling Methods: Learn How to Use Them

What are Java methods and why are they important?

Java methods are blocks of code that perform a specific task. They are important because they allow us to break down complex problems into smaller, more manageable parts. This makes our code more organized, easier to read, and easier to maintain.

How do you call a method in Java?

To call a method in Java, you need to use the method name followed by parentheses. If the method requires any parameters, they should be placed inside the parentheses. For example, if you have a method called calculateSum that takes two integers as parameters, you would call it like this: calculateSum(5, 10).

Can you have multiple methods with the same name in Java?

Yes, you can have multiple methods with the same name in Java as long as they have different parameter lists. This is called method overloading. Java will be able to differentiate between the methods based on the number, type, and order of the parameters.

How do you return a value from a method in Java?

You can use the return keyword to specify the value that the method should return. The return type of the method must match the type of the value being returned. For example, if you want to return an integer, the method should have a return type of int and you should use the return keyword followed by the integer value that you want to return.

Can a method call itself in Java?

Yes, a method can call itself in Java. This is known as recursion and it can be a useful technique for solving certain types of problems. However, it is important to make sure that the recursion has a base case to prevent an infinite loop.

Similar threads

Replies
2
Views
2K
Replies
1
Views
2K
Replies
1
Views
1K
Replies
5
Views
2K
Replies
2
Views
1K
Replies
2
Views
1K
Back
Top