Java 异常数组绑定的线性搜索错误

Java 异常数组绑定的线性搜索错误,java,linear-search,Java,Linear Search,这是我的线性搜索代码,但数组中有一个错误。我知道错误是什么,我已经修复了它,但它仍然显示相同的错误: 运行时错误:线程“main”中的运行时错误异常 java.lang.ArrayIndexOutOfBoundsException:5 at LinearSearchExample.linearSearch(LinearSearchExample.java:13)位于 main(LinearSearchExample.java:40) 公共类LinearSearchExample { 公共

这是我的线性搜索代码,但数组中有一个错误。我知道错误是什么,我已经修复了它,但它仍然显示相同的错误:

运行时错误:线程“main”中的运行时错误异常 java.lang.ArrayIndexOutOfBoundsException:5 at LinearSearchExample.linearSearch(LinearSearchExample.java:13)位于 main(LinearSearchExample.java:40)

公共类LinearSearchExample
{    
公共静态int-linearSearch(int[]arr,int-key)
{    

对于(int i=1;iJava数组是基于0的。请在
linearSearch()中修复循环


for(int i=0;iJava数组是基于0的。在
linearSearch()中修复循环


用于(int i=0;iarray索引从0到arr.length-1数组索引从0到arr.length-1感谢它工作了…只是一个小故障我想通过两个测试用例传递这段代码…代码只在我错的地方返回第二个测试用例的答案?谢谢它工作了…只是一个小故障我想通过两个测试用例传递这段代码…代码是r只在我错的地方才返回第二个测试用例的答案?
    public class LinearSearchExample
    {    
        public static int linearSearch(int[] arr, int key)
        {    
                for(int i=1;i<=arr.length;i++)
                    {    
                        if(arr[i] == key)
                            {    
                                return i;    
                            }    
                    }    
             return -1;    
         }  

    public static void main(String a[])
        { 
                int i, n, key, arr[],testcase;
                Scanner in = new Scanner(System.in);
                testcase = in.nextInt();
                System.out.println(testcase);

                for(i=0;i<testcase;i++)
                {
                        n = in.nextInt(); 
                        arr = new int[n];

                        for(i=0;i<n;i++){
                        arr[i] = in.nextInt();

                        }

                        key = in.nextInt();

                    System.out.println(linearSearch(arr, key)); 

                }   
        }    
}    
for(int i=0;i<arr.length;i++)