当前位置: 首页 > 面试题库 >

如何在数组中交换两个整数,而我的方法从main中获取两个整数和一个数组?

林君博
2023-03-14
问题内容

我在main中调用了swap方法,但它没有任何改变。我究竟做错了什么?

public static void main(String[] args){


    int mainArr[] = new int[20];

    for(int i = 0; i<mainArr.length; i++){
    swapper(3, 14, mainArr);
    System.out.print(i + mainArr[i] + " ");
    }
}


public static void swapper (int a, int b, int[] mainArr){
    int t = mainArr[a];
    mainArr[a] = mainArr[b];
    mainArr[b] = t;
}

我的代码产生

0, 1,  2, 3,...19

以正常的升序排列,我希望它交换第4个和第15个元素。


问题答案:

移动方法调用:-

swapper(3, 14, mainArr);

在您的for循环之外。因为,如果您的循环运行even次数,则不会影响阵列。

另外,您需要先初始化数组,然后才能实际交换元素。调用之前需要执行的操作swapper

for(int i = 0; i<mainArr.length; i++){
    mainArr[i] = i;
}

swapper(3, 14, mainArr);

for(int i = 0; i<mainArr.length; i++){
    System.out.print(i + mainArr[i] + " ");
}


 类似资料:
  • 问题内容: 我见过类似的问题,但没有一个提供我所要的答案,因此,如果这被认为是重复的,我在此致歉。我正在尝试将数组{1,2,3}和{4,5,6}合并为{1,2,3,4,5,6}。我做错了什么?我是java的新手。抱歉,问题很愚蠢。 问题答案: 代替 您需要调用merge方法,并将结果分配给数组,例如: 您的for循环也应该是:

  • 问题内容: 我正在尝试编写代码以比较两个数组。在第一个数组中,我输入了自己的数字,但是在第二个数组中,输入了输入文件中的数字。该数组的大小由文件中的第一个数字确定,而第一个数组的大小始终为10。两个数组以及数字的长度必须相同。 我的代码如下: 问题答案:

  • 我需要实现采用 Stream 和整数并返回字符串列表的方法。列表应根据整数进行分组 - 从高到低排序,仅返回数字 我想在一个流中完成它,得到这样的东西: 你能帮我这个流吗?我不知道我是否应该使用过滤器。或者也许是前言?这个 只是暂时的。

  • 但是,我从geeksforgeeks中找到了另一个解决方案,它只使用对数除法来确定值是否可以用两个整数的幂表示。 谁能给我解释一下上面的对数解吗?提前谢了。

  • 我是一名编程学生,我在这个问题上遇到了很多麻烦: “完成一个静态方法multipleof,它接受两个int参数number和count。方法体必须返回一个包含number的第一个计数倍数的int数组。例如,