从 int 数组中删除重复元素

我试图通过以下代码从该数组中删除重复元素,它给了我这个错误:


线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:索引 13 超出 pro2.Main.main(Main.java:36) 长度 13 的范围


代码 :


public static void main(String[] args) {

    int[] x = { 2, 2, 3, 5, 6, 3, 5, 6, 7, 8, 9, 1, 7 };


    Integer[] o = new Integer[x.length];


    for (int i = 0; i < x.length; i++) { 

        o[i] = Integer.valueOf(x[i]);

    }


    for (int i = 0; i < x.length; i++) {

        for (int j = i + 1; i < x.length; j++) {

            if (o[i] == o[j]) {

                o[j] = null;

             }  

        }

    }


    for (int i = 0; i < x.length; i++) {    

         if(o[i]!=null)

          System.out.print(o[i]);   

    }

}


森栏
浏览 101回答 1
1回答

倚天杖

你这里有一个错字:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;j&nbsp;=&nbsp;i+1&nbsp;;&nbsp;i<x.length&nbsp;;&nbsp;j++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^&nbsp;this&nbsp;should&nbsp;be&nbsp;j当前(错误的)循环直到运行到数组末尾才停止。因此,您试图获取 x[12+1] 的值,即 x[13],超出数组范围。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java