2016-05-05 3 views
-4

Я пытаюсь создать Серия Фибоначчи элемента первой десятки с использованием рекурсии. Но компилятор дает ошибку. Пожалуйста, помогите мне найти точное решение.Серия Fibonacci с использованием рекурсии в java

// Программа приведена ниже:

public class DemoJava { 

    int a=0, b=1, c=0, count=10; 

    public void fibonacciRecursion(count) { 

     if(count>0){ 

      c = a+b; 
      a = b; 
      b = c; 
      System.out.println(c); 
      fibonacciRecursion(count-1); 

     } 
    } 

    public static void main(String args[]){ 

     System.out.println("This is a Demo Program."); 
     System.out.println(a); 
     System.out.println(b); 

     DemoJava dj = new DemoJava(); 
     dj.fibonacciRecursion((count-2)); 
    } 
} 

// Ошибка приведена ниже:

error: <identifier> expected 
     public void fibonacciRecursion(count) { 
              ^
1 error 
+0

проголосовали, чтобы закрыть как слишком широкий, пожалуйста, читать [ tutorial] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html), чтобы получить представление об основах языка. –

ответ

1
public void fibonacciRecursion(int count) 

Вы пропустили int в сигнатуре метода.

Во-вторых,

dj.fibonacciRecursion((count-2)); 

Это должно быть написано как:

dj.fibonacciRecursion((dj.count-2)); 

count, потому что это переменная экземпляра.

+0

«Прототип» - это форвардное объявление в программе на языке C, оно не существует в Java, вы имеете в виду «объявление метода». –

+0

Я попробовал, но компилятор снова дал ошибку ошибки: нестатический счетчик переменных не может ссылаться на статический контекст dj.fibonacciRecursion ((count-2)); –

+0

@NathanHughes, спасибо за указание. Я имел в виду подпись. –

2

Ну ...

Я уверен, что вы должны указать тип переменной на параметре метода, что-то вроде этого:

public void fibonacciRecursion(int count) { 
Смежные вопросы