Степенная функция с использованием рекурсии

Я должен написать силовой метод в Java. Он получает два целых числа, и не имеет значения, положительные или отрицательные числа. Это должно иметь сложностьO(logN), Также необходимо использовать рекурсию. Мой текущий код получает два числа, но результат, который я продолжаю выводить, равен нулю, и я не могу понять, почему.

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 < 0) {
            result = result * pow(a, n + 1);
        } else if (n > 0) {
            result = result * pow(a, n - 1);
        }

        return result;
    }
}

Ответы на вопрос(7)

Ваш ответ на вопрос