A good answer might be:

A base case of a recursive definition is a case that has an immediate solution.

factorial( 0 ) = 1 <-- base case
factorial( N ) = N * factorial( N-1 )

Static View of Recursion

In the "static view" of recursion, a math-like definition is translated into a Java method. In the static view you think about text and syntax. You don't think about run time. Here is the math-like definition of recursion:

factorial( 0 ) = 1
factorial( N ) = N * factorial( N-1 )

And here is a skeleton of a Java method:

int factorial( int N )
{
  if ( __________ )
  
    return 1;
    
  else
  
    return ______ * _____________;
}

Practice thinking statically. Translate the math-like definition into the Java code.

QUESTION 3:

Fill in the blanks.