Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IndexOutOfBound Java异常无法分析错误_Java_Arrays_Sorting_Exception - Fatal编程技术网

IndexOutOfBound Java异常无法分析错误

IndexOutOfBound Java异常无法分析错误,java,arrays,sorting,exception,Java,Arrays,Sorting,Exception,我知道当我们在索引中插入一个大于数组大小的元素时,会出现这个错误,但我仍然不明白为什么会出现这样的问题。我已经很好地分析了代码,但无法找出问题所在 /*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) {

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

/*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--; 
        }
    }
}

尝试为元素大小添加1到n。如果你说10个元素,一个数组将有0-9个元素。如果选择第10项,则比数组设置的大小多1个

抱歉,但我不理解尝试Int a[]=new Int[n+1];谢谢,兄弟,它正在工作,但是它分配了一个额外的垃圾空间怎么办问题是提示,当程序说输入数组大小并输入10时,人类希望通过输入10的索引来访问第10个元素。但是Java索引10个数组元素0到9。向程序用户解释输入数组元素比最大值小1或解释可用元素为0到n-1I在运行此代码时,我没有收到异常。你输入什么来得到那个异常?我不知道为什么它只在输入1到10的整数时给我这样一个错误