【问题标题】:Error In Fibonacci Sequence [closed]斐波那契数列中的错误[关闭]
【发布时间】:2016-10-09 18:40:49
【问题描述】:

我是 Java 新手,我正在努力学习最好的东西。我正在尝试运行此代码,但遇到了错误。

代码:

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

【问题讨论】:

  • newint[20] 应该是 new int[20]; 并且应该在填充此数组之前完成
  • for (int i =2; i&lt;2; i++) 不会迭代。你的意思是i &lt; 20? --- 另外,你没有打印numbers[1]
  • Stackoverflow 并非旨在教授绝对基础知识。改为阅读书籍或遵循教程。
  • 感谢您的帮助!修复它,现在可以完美运行!
  • @JeroenVannevel 你会认为老师比书本或教程更好,但他是我来这里的原因哈哈!如果他无法提供帮助,这是我最后的手段。

标签: java compiler-errors fibonacci


【解决方案1】:

new 运算符后面缺少一个空格。此外,您需要在为其赋值之前初始化数组,而不是在之后:

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

【讨论】:

  • 感谢您的帮助!
  • 所以,我照你说的做了,但是当我运行程序时,唯一出现的数字是零。
  • 斐波那契数列:0
【解决方案2】:

就像评论中已经说过的那样,更改数组声明,并将循环的上限调整为 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] );

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 2013-11-30
    • 1970-01-01
    • 2015-06-05
    相关资源
    最近更新 更多