Код бегуна Фибоначчи: JAVA

1

Lab Описание: Создайте последовательность Фибоначчи. Каждое число в последовательности Фибоначчи представляет собой сумму двух предыдущих чисел в последовательности. Первые два числа в последовательности равны 1. Третье число равно 2, четвертое число равно 3, пятое число - 5, а шестое число - 8. Программа должна иметь возможность возвращать указанное число в фибо-последовательности, Если указано число, выходящее за пределы допустимого диапазона, необходимо вернуть -1.

У меня есть жесткий математический код, сделанный ниже, без ошибок:

public class Fibonacci
{
    int[] fibArray;
    public Fibonacci()
    {
        fibArray = new int[50];
        this.setFibo();
    }
    public void setFibo()
    {
        fibArray[0]=1;
        fibArray[1]=1;
        for(int idx = 2; idx<fibArray.length; idx++){
            fibArray[idx] = fibArray[idx-1] + fibArray[idx-2];
        }
    }
    public int[] getFibo()
    {
        return fibArray;
    }
    public String toString()
    {
        return this.getFibo() + "\n";
    }
}

И внизу у меня проблемы с бегуном:

public class FibonacciRunner
{
    public static void main(String[] args) {
        int[] fibArray = {1,2,3,4,5,6,11,16,21,31,41,46,1,1,2,1,2,11};
        Fibonacci fibo = new Fibonacci();
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());
        System.out.println(fibo.getFibo());

    }
}

Любая помощь очень ценится!

Теги:

1 ответ

1

Вопрос немного ясен, ваша реализация также не ясна. Если вам нужно получить определенное число из последовательности Фибоначчи, getFibo() должен возвращать и int, а не int []. Кроме того, getFibo должен принимать значение /index как in, getFibo (значение int). Просьба четко указать это требование на примере. Вы можете указать код ниже.

public int getFibo(int index)
{
    if(index < 50)
     return fibArray[index];
    else
      return -1;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню