import java.io.*; class Factorial1 { // Prompts for a number and prints its factorial // (recursive version) public static void main(String[] args) throws IOException { String num; int n; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Type the number: "); num=in.readLine(); for(;;) try { n=Integer.parseInt(num); break; } catch(NumberFormatException e) { System.out.println("Not an integer, try again: "); } System.out.println(n+"! is: "+factorial(n)); } public static int factorial(int n) { if(n<=1) return 1; else return n*factorial(n-1); } }