|
import java.util.Scanner;
|
|
|
|
public class FactorialCalculator {
|
|
|
|
public static void main(String[] args) {
|
|
// Create a Scanner object for user input
|
|
Scanner scanner = new Scanner(System.in);
|
|
|
|
System.out.print("Enter a non-negative integer: ");
|
|
|
|
// Validate user input
|
|
if (!scanner.hasNextInt()) {
|
|
System.out.println("Invalid input. Please enter a valid integer.");
|
|
scanner.close();
|
|
return;
|
|
}
|
|
|
|
int number = scanner.nextInt();
|
|
|
|
// Check if the number is non-negative
|
|
if (number < 0) {
|
|
System.out.println("Factorial is not defined for negative numbers.");
|
|
} else {
|
|
// Calculate factorial
|
|
long factorial = 1; // Use long to handle large results
|
|
for (int i = 1; i <= number; i++) {
|
|
factorial *= i;
|
|
}
|
|
|
|
// Display the result
|
|
System.out.println("The factorial of " + number + " is: " + factorial);
|
|
}
|
|
|
|
// Close the scanner
|
|
scanner.close();
|
|
}
|
|
}
|
|
|