# Source code for Factorial.java

What follows is the highlighted source code with comments. You can also download this file directly: Factorial.java.

```/*
* This work by W. Patrick Hooper is free of known copyright restrictions.
* The work is in the public domain.
*
* Author's website: <a href="http://wphooper.com">http://wphooper.com</a>.
*/

/** Compute n!
*
* @author Pat Hooper
*/
public class Factorial {

/**
* Prints out n!, where n is the first command line argument.
*
* @param args the command line arguments
*/
public static void main(String[] args) {
// Convert the first argument to an integer and store it as n.
int n=Integer.parseInt(args);

if ( n < 0) { // Execute the following statements if n is negative.
// When you add a number to a string, Java converts the number to a string,
// and then concatenates the two strings.
System.out.println("The number ("+n+")! is undefined because "+n+
" is negative."); // Print an error message.
System.exit(0); // Exit the program.
}

// We will compute n factorial via the formula
// n!=1*2*3*4*5*...

int factorial=1; // create an integer named factorial and set it to one

int i=1; // Create another integer with value one.

while (i <=n ) { // Exectute the following two lines as long as i<=n.
factorial = factorial * i; // Update factorial.
i = i+1; // Increase the value of i by one.
}

System.out.println(""+n+"! = "+factorial);
}

}
```
HOOPER >>>>> JAVA TUTORIAL