VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 907|回复: 3

请教一下

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-21 18:20:01 | 显示全部楼层 |阅读模式
以下我写的显示斐波那数列前20个数字的小程序编译正常

运行时也能显示,却最后显示异常,何解呢?如下:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20


public class Fibo{
public static void main(String[] args){
int array[]= new int[20];
array[0]=1;
array[1]=1;
System.out.print(array[0]+" ");
System.out.print(array[1]+" ");
for (int i=2;i<21;i++){
array[i]=array[(i-2)]+array[(i-1)];
System.out.print(array[i]+" ");
}
System.out.println();
}
}
回复

使用道具 举报

0

主题

12

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-31 17:45:01 | 显示全部楼层
数组下标越界.
int array[]= new int[20];//这句话创建了20个int的数组,下标从0-19;
for (int i=2;i<21;i++){//当执行到i = 20时,仍然符合条件,引用array[i]时就会报Exception

你可以改为int array[] = new int[21];

或 for(int i = 0 ; i < 20 ; i++)
回复

使用道具 举报

0

主题

6

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-1 11:27:01 | 显示全部楼层
java.lang.ArrayIndexOutOfBoundsException
数组下标越界Exception
学着看看Exception,不懂没关系,按字面意思翻译一下,大致就能猜出来了
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-2-1 20:54:01 | 显示全部楼层
ok,知道了,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表