java - 查找缺失数字时的数组异常

标签 java arrays

我编写了一个代码来查找系列中缺失的数字。在这里,我也得到了正确的结果,缺少数字,但有异常(exception)。异常(exception)是 arrayindexoutofboundsexception,这很可能是因为我正在增加数组的长度。

代码如下。任何帮助消除该异常...

import java.io.*;
class findarr
{
    public static void main(String args[]) throws IOException
    {
        int a[] = {10,12,14,16,20};
        int x,y,z;
        for(int i=0;i<a.length;i++)
        {
            z = a[i+1]-a[i];
            if(z!=2)
            {
                x = a[i]+2;
                y = a[i+1]-2;
                if(x==y)
                System.out.println(x);
            }
        }
    }
}

最佳答案

如果i == a.length - 1表达式z = a[i+1]-a[i];将生成 ArrayOutOfBoundsException(因为 a[i+1] 超出数组)。将循环限制为 i < a.length - 1

关于java - 查找缺失数字时的数组异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21772582/

相关文章:

php - 存储数据的数组或对象 - 什么是更好的解决方案

java - 获取接下来三周的最后一天 Java

c++ - NO 带有字符串数组的存储类或类型说明符

php - Javascript 和 PHP 不会很好地配合

C 指向数组的指针

javascript - 将数组与对象键进行比较并保持顺序

java - Uber API 要求的 redirect_uri 是什么?

java - BigInteger HMAC转换异常

java - 如何将java多类小程序转换为html文件

java - 使用VLCJ计算媒体文件的比特率