Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
Java 删除排序数组中的重复项,尝试理解_Java_Arrays - Fatal编程技术网

Java 删除排序数组中的重复项,尝试理解

Java 删除排序数组中的重复项,尝试理解,java,arrays,Java,Arrays,我试图从排序数组中删除重复值。 这是我的密码 public static int remove (int[] nums, int n) { int count = 0; for(int i = 1; i < n; i++){ //tried to print out here if(nums[i] == nums[i-1]) count++; else nums[i-coun

我试图从排序数组中删除重复值。 这是我的密码

public static int remove (int[] nums, int n) {
        int count = 0;
        for(int i = 1; i < n; i++){     
            //tried to print out here 
            if(nums[i] == nums[i-1]) count++;
            else nums[i-count] = nums[i];
        }
        return n-count;
    }
公共静态int-remove(int[]nums,int-n){
整数计数=0;
对于(inti=1;i
我的数组是
{1,2,2,3,4,4,4,5,5}

我试图打印出变量的值,以便了解它是如何工作的。在第一次循环迭代中,在IF条件
IF i=1
之前,为什么
numb[i]
的值已经是2


谢谢,因为数组在Java(和许多其他语言)中是基于零的。大小为n的数组的索引将是
{0,1,2,…,n-1}
因此,从数组的第一个元素开始将是
数组[0]


当然,在这里您不想这样做,因为您要用前面的元素检查每个元素。如果循环中的
i
0
开始,则会出现异常。

因为数组在Java(以及许多其他语言)中是零基的。大小为n的数组的索引将是
{0,1,2,…,n-1}
因此,从数组的第一个元素开始将是
数组[0]


当然,在这里您不想这样做,因为您要用前面的元素检查每个元素。如果循环中的
i
0
开始,则会出现异常。

我明白了。谢谢我还在学习,有时会感到困惑。我明白了。谢谢我还在学习,有时会感到困惑。简单的谷歌搜索“Javascript循环”就可以给你答案。在发布问题之前,一定要做一些基础性的研究,一个简单的谷歌搜索“Javascript循环”会给你答案。在发布问题之前,一定要做基础研究