Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
索引5超出了Simple_Inversions.main(Simple_Inversions.java:24)的长度界限_Java_Loops_Inversion - Fatal编程技术网

索引5超出了Simple_Inversions.main(Simple_Inversions.java:24)的长度界限

索引5超出了Simple_Inversions.main(Simple_Inversions.java:24)的长度界限,java,loops,inversion,Java,Loops,Inversion,-我的程序的主要功能是计算数组的反转数。 示例: 输入:5 0 1 2 3 4(第一个输入是数组的长度) 输出:0(因为所有数字顺序正确) 输入:543210 产出:4 输入:501243 产出:1 -代码的第一部分是定义数组的长度并用数字填充数组。 我觉得我做的每件事都是对的,但我不明白为什么会出现以下错误: 线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引5超出长度5的界限 在Simple\u Inversions.main(Si

-我的程序的主要功能是计算数组的反转数。 示例:

  • 输入:5 0 1 2 3 4(第一个输入是数组的长度) 输出:0(因为所有数字顺序正确)
  • 输入:543210 产出:4
  • 输入:501243 产出:1
  • -代码的第一部分是定义数组的长度并用数字填充数组。 我觉得我做的每件事都是对的,但我不明白为什么会出现以下错误:

    线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引5超出长度5的界限 在Simple\u Inversions.main(Simple\u Inversions.java:24)”

    希望你能帮助我。谢谢

    (旁注:错误中的数字5是5,因为我输入的数组的长度是5。因此它会根据该长度而变化)

    import java.util.Scanner;
    公共类简单逆{
    公共静态void main(字符串[]args){
    扫描仪sc=新的扫描仪(System.in);
    整数指数;
    国际安扎尔;
    int[]费尔德;
    内翻;
    anzahl=sc.nextInt();
    费尔德=新国际[anzahl];
    指数=0;
    而(指数if(feld[index+1]如果(feld[index+1]将
    index
    更改为
    index+1
    ,则在时失败。
    import java.util.Scanner;
    
    public class Simple_Inversions {
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
            int index;
            int anzahl;
            int[] feld;
            int inversionen;
    
            anzahl = sc.nextInt();
            feld = new int[anzahl];
    
            index = 0;
            while ( index < anzahl )
            {
                feld[index] = sc.nextInt();
                index = index + 1;
            }
              inversionen=0;
            index=0;
            while(index < feld.length){
                if(feld[index+1]<feld[index]) {
    
                    inversionen = inversionen + 1;
                }
                index=index+1;
    
    
            }
    
    
    
            System.out.println(inversionen);
    
    
        }
    }