2016-10-09 2 views
-2

Я новичок в Java и стараюсь учиться, что могу. Я пытаюсь запустить этот код, но у меня ошибка.Ошибка в последовательности Fibonacci

Код:

public class Fibonacci 
{ 

    public static void main(String[] args) 
    { 

     int[] numbers; 
     numbers[0]=0; 
     numbers[1]=1; 
     numbers = newint[20]; 
     System.out.println("\nFibonacci series:\n"); 
     System.out.println(numbers[0]); 
     for (int i =2; i<2; i++) 
     { 

      numbers[i]=numbers[i-2]+numbers[i-1]; 
      System.out.println(numbers[i]); 

     } 

    } 

} 

Ошибка:

Fibonacci.java:10: error: cannot find symbol 
     numbers = newint[20]; 
       ^
    symbol: variable newint 
    location: class Fibonacci 
1 error 
+3

'newint [20]' это должно быть 'новый INT [20];' и это должно быть сделано, прежде чем заполнить этот массив – user902383

+0

'для (INT I = 2; я <2; я ++)' не будет итерацию. Вы имели в виду 'i <20'? --- Кроме того, вы не печатаете 'numbers [1]'. – Andreas

+0

Stackoverflow не предназначен для обучения абсолютным основам. Прочитайте книгу или следуйте руководству. –

ответ

2

Вы пропускаете пробел после оператора new. Кроме того, вы должны инициализировать массив перед присваивание значений к нему, а не после того, как:

int[] numbers = new int[20]; 
// Here -----------^ 
numbers[0] = 0; 
numbers[1] = 1; 
+0

Спасибо за помощь! – Charlie

+0

Итак, я сделал то, что вы сказали, но когда я запускаю программу, единственное число, которое появляется, равно нулю. – Charlie

+0

Серия Фибоначчи: 0 – Charlie

0

Как уже было сказано в комментарии, изменить объявление массива, а также настроить верхнюю границу для цикла 20:

public static void main(String[] args) { 

    int[] numbers = new int[20]; 
    numbers[0]=0; 
    numbers[1]=1; 
    System.out.println("\nFibonacci series:\n"); 
    System.out.println(numbers[0]); 
    for (int i = 2; i< 20; i++) { 
     numbers[i]=numbers[i-2]+numbers[i-1]; 
     System.out.println(numbers[i]); 

    } 
} 
Смежные вопросы