| 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(); | |
| } | |
| } | |