Java Factorial factorial(int n)

Here you can find the source of factorial(int n)

Description

factorial

License

Apache License

Parameter

Parameter Description
n a parameter

Exception

Parameter Description
IllegalArgumentException an exception

Declaration

public static long factorial(int n) throws IllegalArgumentException 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright 2014 Felipe Takiyama//w w w  . j  a v a 2 s  .c om
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

public class Main {
    /**
     * @deprecated Because it cannot calculate factorial of numbers greater 
     * than 20
     * 
     * @param n
     * @return
     * @throws IllegalArgumentException
     */
    public static long factorial(int n) throws IllegalArgumentException {
        long n_factorial = 1;

        if (n == 1)
            return n_factorial;
        if (n < 0)
            throw new IllegalArgumentException("Cannot calculate factorial of negative numbers!");
        if (n > 20)
            throw new IllegalArgumentException("I can calculate up to 20!.");

        for (int i = 2; i <= n; i++) {
            n_factorial *= i;
        }
        return n_factorial;
    }
}

Related

  1. factorial(int n)
  2. factorial(int n)
  3. factorial(int n)
  4. factorial(int n)
  5. factorial(int n)
  6. factorial(int n)
  7. factorial(int n)
  8. factorial(int n)
  9. factorial(int n)