java - 为什么我在这个数组中得到负数?

标签 java arrays

我刚开始学习数组,所以请通俗易懂地解释一下。

在数组的第 50 项左右,负数开始出现,考虑到代码,这似乎是荒谬的。我正在使用 eclipse(截至 12 月 19 日的最新版本)运行它。

public class Array1
{
    /*
    * @param args
    */
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        int[] tree = new int[1000];
        tree[0] = 1;
        tree[1] = 2;

        int j = 0;

        for (j = 1; j<999; j++)
        {
            tree[j+1] = tree[j] + tree[j-1];
        }

        for (int i=1; i<=150; i++)
        {
            System.out.println(tree[i]);
        }
    }
}

最佳答案

您正在计算的是已知呈指数增长的斐波那契数列。因此,您最终会溢出您的 int,导致它变为负数。

关于java - 为什么我在这个数组中得到负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127572/

相关文章:

python - Windows 和 Ubuntu 之间 Numpy 数组的内存使用差异

java - 如何将带有增量参数的 hibernate 生成器 ="sequence"转换为 JPA

Java 8 LocalDate 映射与 mybatis

java - PDF打印到客户的打印机而不打开它们

python - 如何在python中获取锯齿状数组的长度

JavaScript : how to push into object's attribute

java - 如何配置 DropWizard 来解释请求失败?

java - 创建批处理文件来终止进程

php - 需要帮助 INSERT 记录 MySQL DB

python - 修改数组numpy中的实际元素值