Skip to content

Variables & Types

In this lab you will parse a number (hours) from the command-line arguments and calculate the number of seconds in those hours. For example:

$ java HoursToSeconds 2
Number of seconds in 2 hour(s) is 7200

Remember: Don't copy-and-paste any code from here, get your fingers used to typing the code.

Step 1: Create a New Class With Entry Point

Create a new file, HoursToSeconds.java, and inside of that file, define a class with the same name, HoursToSeconds, e.g.:

public class HoursToSeconds {
}

Create a new entry point method inside the class, e.g.:

  public static void main(String[] args) {
  }

Step 2: Calculate "Seconds Per Hour" Using an int Variable

Inside of the main method (the entry point), write code that creates an int variable named hours and assign 1 to it.

int hours = 1;

Compute the number of seconds for those hours:

int hoursInSeconds = hours * // fill in the rest of this computation yourself!

Step 3: Print the Result

Using System.out.println(), print out the text "Number of seconds in 1 hour(s) is 3600", but replace the 1 with the value from the hours variable, and the 3600 with the calculated number of seconds.

Remember to Use String Concatenation

For example: to print "I have worked here for 2 years and 3 months", you might write:

int years = 2;
int months = 3;
System.out.println("I have worked here for " + years + " years and " + months + " months");

Step 4: Compile and Run

Save the file HoursToSeconds.java, compile it, and then run it, e.g.:

$ java HoursToSeconds
Number of seconds in 1 hour(s) is 3600

Step 5: Parse Hours from the Command Line

Now let's get the number of hours from the command line arguments, instead of "hard-coding" it.

Replace the int hours = 1; with int hours = and use the Integer.parseInt() method to convert the first command-line argument from a String to an int, storing it in the hours variable.

Everything else should remain the same, so do the same routine:

  • Save your changes
  • Compile the Java file
  • Run it and pass a number as a parameter:
    $ java HoursToSeconds 2
    Number of seconds in 2 hour(s) is 7200
    

Experiment

Things to try:

  • What if you don't pass anything on the command-line?
  • What if the String isn't a valid number?
  • What if the String isn't an integer (i.e., decimal)?
  • What else might you try?

References

The JavaDoc API home page is here: https://docs.oracle.com/javase/8/docs/api

The Google Java Coding Style Guide can be found here: https://google.github.io/styleguide/javaguide.html


Once you've completed the above steps, check in with the instructor to review your code.