当前位置: 首页 > 知识库问答 >
问题:

如何只打印一次不同的整数值,即使它们重复多次

杜俊远
2023-03-14

我尝试只打印一次不同的整数值,即使它们在具有引入顺序的数组中重复多次。首先,我需要从用户获取数组大小,但我无法确定如何初始化该变量。我可以使用n(包含在代码中)作为数组大小变量吗?当我编译时,我不打印任何东西。我的错误在哪里?如何处理?有什么想法吗?

public static void uniqueNumbers(int arr[], int n)
    {
        for (int i=0; i<n; i++)
        {
            for (int j =0; j<i;j++)
            {
                if (arr [i]==arr[j])
                    break;
            
            if (i==j)
                System.out.print(arr[i] + " ");
                
        }
    }
}

public static void main(String[] args) {
    Scanner sc =new Scanner(System.in);
    int n =sc.nextInt();
    int arr [] = new int [n];
    uniqueNumbers(arr,n);

}

}

共有1个答案

缪志新
2023-03-14
public static void uniqueNumbers(int[] arr, int n) {
        int slow = 1;
        for (int fast = 1; fast < n; fast++) {
            if (arr[fast] != arr[slow - 1]) {
                arr[slow++] = arr[fast];
            }
        }
        arr = Arrays.copyOf(arr, slow);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
 类似资料:
  • 我现在的代码: 我希望它打印两个数组的交集,而不需要再次打印相同的数字。 E、 g:code>[1,2,2,1]和的交点应该只打印一次,而不是像我现在的代码那样。

  • iv得到了一个检查两个数组中的值的循环。如果找到匹配的值,这些值将被打印到控制台。 我还包含了一个 print 语句,该语句旨在仅在未在任何地方找到匹配项时才打印。 此时,如果传入的数组包含一些匹配的数字和一些不匹配的数字,我仍然会得到没有找到匹配的消息。相反,我希望只有在任何地方都不存在匹配时,才打印“找不到匹配”消息。 我认为这应该是一个简单的更正,但我看不出我哪里出错了。 建议不胜感激。

  • 问题内容: 我正在尝试修复这段代码,该代码是从具有车牌号和车主列表(该格式)的哈希图进行打印的。我试图通过printOwners()仅打印出所有者;但是我不能不打印重复的东西。 我已经玩了一段时间,但似乎无法跳过重复项。 这是我的代码: 问题答案: 要删除重复项,请使用: 或者使用Java 8 和方法:

  • 我正在php上研究多对多关系,我有3个表,包括电影名称和电影id的movie表genre表包括类型和类型id的movie_genre表包括电影id和类型id的movie_genre表 genre表有这些值 我使用下面的代码来获取数据 但结果将类似于 movie_id movie_name genre[1] movie_id movie_name genre[2] movie_id movie_na

  • 我每次都得到10个相同的结果:

  • 问题内容: 我正在尝试编写一个小程序,该程序在数组中打印出不同的数字。例如,如果用户输入1,1,3,5,7,4,3,则该程序将仅打印出1,3,5,7,4。 我在else if函数中遇到错误。 到目前为止,这是我的代码: 问题答案: 首先,“ ”语句是不正确的,因为您没有为if提供任何条件(如果需要if,则需要编写“ ”)。 其次,您不能 在内部 循环中决定是否应打印一个值:代码的工作方式是 为每个