title: Power function using recursion
body: <p>I have to write a power method in Java. It receives two ints and it doesn't matter if they are positive or negative numbers. It should have complexity of <code>O(logN)</code>. It also must use recursion. My current code gets two numbers but the result I keep outputting is zero, and I can't figure out why.</p>
  
  <pre><code>import java.util.Scanner;
  
  public class Powers {
  
      public static void main(String[] args) {
          float a;
          float n;
          float res;
  
          Scanner in = new Scanner(System.in);
          System.out.print("Enter int a ");
          a = in.nextFloat();
  
          System.out.print("Enter int n ");
          n = in.nextFloat();
  
          res = powers.pow(a, n);
  
          System.out.print(res);
      }
  
      public static float pow(float a, float n) {
          float result = 0;
  
          if (n == 0) {
              return 1;
          } else if (n &lt; 0) {
              result = result * pow(a, n + 1);
          } else if (n &gt; 0) {
              result = result * pow(a, n - 1);
          }
  
          return result;
      }
  }
  </code></pre>