//Program to demonstrate the switch statement by using printing out a list of factorials.
//by Neil Broadbent

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import NeilClass.*;


public class Factorial
{
   public static void main(String[] pArgs) throws IOException
   {

        for (int tFactorial = -1; tFactorial<14;tFactorial++){
           int tTotal = iFactorial(tFactorial);
           System.out.println("The Factorial of " + tFactorial + " is " + tTotal);
       }
       
    }

    private static int iFactorial (int tFactorial)
        {
            int tData = 0;
            
            switch (tFactorial)
            {
                case 0:
                {
                    tData= 0;
                    break;
                }
                case 1:
                {
                    tData= 1;
                    break;
                }
                case 2:
                {
                    tData= 2;
                    break;
                }
                case 3:
                {
                    tData= 6;
                    break;
                }
                case 4:
                {
                    tData= 24;
                    break;
                }
                case 5:
                {
                    tData= 120;
                    break;
                }
                case 6:
                {
                    tData= 720;
                    break;
                }
                case 7:
                {
                    tData= 5040;
                    break;
                }
                case 8:
                {
                    tData= 40320;
                    break;
                }
                case 9:
                {
                    tData= 362880;
                    break;
                }
                case 10:
                {
                    tData= 3628800;
                    break;
                }
                case 11:
                {
                    tData= 39916800;
                    break;
                }
                case 12:
                {
                    tData= 479001600;
                    break;
                }
                default:
                {
                    tData = -1;
                    break;
                }
                
            }

            return tData;
         }
 }

