java - 如何将数组和当前索引传递给 Java 中的方法

标签 java arrays sorting parameter-passing

我想使用代码中所示的 swap() 方法对数组进行排序。我想知道如何传递数组并对其进行排序。

    public class Test {
    public static void main(String[] args) {
        int [] ar = {9, 4, 5, 3, 1, 8, 4, 2, 0};
        System.out.println(Arrays.toString(ar));
        for (int i = 0; i<ar.length-1; i++){
            for (int j = i+1; j<ar.length; j++){
                swap(ar[i], ar[j]);
            }
        }
        System.out.println(Arrays.toString(ar));
    }
    private static void swap(int i, int j) {
        int temp;
        if(i>j){
            temp = j;
            j = i;
            i= temp;
        }       
    }
}

最佳答案

数组就像任何其他类型一样。如果要将数组传递给方法,请声明该类型的参数,例如

private static void swap(int[] ar, int i, int j) { ... }
                         ^ This is a parameter of type int[].

请注意,您传递的 ij 应该是索引,而不是数组中的值:

swap(ar, i, j);

并交换元素:

temp = ar[i];
ar[i] = ar[j];
ar[j] = temp;

关于java - 如何将数组和当前索引传递给 Java 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38622738/

相关文章:

arrays - Swift 设置为数组

arrays - 如何使 bash 'pop' 和 'shift' 函数实际返回弹出或移动的项目?

java - Java排序List时出现错误 "no suitable method found"

java - 随后按字段对对象进行排序

java - Spark 流作业已退出,代码为 11

Java:构造函数和传递变量时出错

python - 直观地解释这个 4D numpy 数组索引

python - 根据不同的数组对随机生成的 Numpy 数组进行排序

java - 如何强制Rabbit MQ重新累积并发送消息?

java - 自定义对话框中的进度条