Static Method and Return Statements

Having basic problem with a program that is supposed to call static methods from main as part of homework assignment.

1 compile error: >javac Harmonic.java

Harmonic.java:24: missing return statement

on line: return Hlarge(N);

Seems to be having trouble with my if else or how i'm handling the returns of these static methods.

Thanks in advance for any help. Perhaps an easy fix for an intermediate developer.

--------------------------------------

public class Harmonic {

public static double Hsmall(int N) {

// Base case: H(1) = 1.

if(N <= 1) return 1;

// Every other case: H(n) = 1/n+H(n-1).

return Hsmall(N-1)+1.0/N;

}

public static double Hlarge(int N) {

return Math.exp(N); //library for Euler's constant

}

public static double H(int N) {

if (N < 100)

return Hsmall(N);

else if (N >= 100)

return Hlarge(N); // <-- compile error here

}

public static void main (String[] args){

//int N = Double.parseDouble(args[0]); //evaluate number

int N = Integer.parseInt(args[0]);

System.out.println(H(N));

}// main

}//class