首页 > 解决方案 > IndexOutOfBound Java 异常无法分析错误

问题描述

我知道当我们在索引中插入一个大于数组大小的元素时会出现此错误,但我仍然无法弄清楚为什么我会遇到这样的问题我已经很好地分析了代码但无法弄清楚问题。

/*package whatever //do not write package name here */

import java.util.*;
import java.lang.*;
import java.io.*;

class Test {
    public static void main (String[] args) {
        //code
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter T value");        
        int t = sc.nextInt();
        
        while(t > 0){
            System.out.println("Enter Array Size");
            int n = sc.nextInt();
            
            int a[] = new int[n];
            
            
            System.out.println("Enter Array Element");
            for(int i = 0;i<n; i++){
                a[i] = sc.nextInt();
            }
            
            for(int i = 0; i<n; i++){
                
            int min = i;
            
            for(int j = i; j<n;j++){
                if(a[j] < a[min]){
                    min = a[j];
                }
            }
            
            int temp = a[i];
            a[i] = a[min];
            a[min] = temp;
                
            }
            
            for(int el : a){
                System.out.print(el + " ");
            }
            
           t--; 
        }
    }
}

标签: javaarrayssortingexception

解决方案


尝试将 1 添加到 n 以获得元素大小。如果您说 10 个元素,则数组将包含 0-9 个元素。如果选择第 10 项,则比为数组设置的大小多 1


推荐阅读