0

这是我应该做的:

编写一个程序来读取一个 4x4 的二维数组。然后读取数组的第一个元素并将其与每列的第三个元素进行比较。用两者中较大的值替换较小的值。创建一个名为 swap 的方法来交换值。

我不确定我做错了什么,我刚刚开始学习数组。我的老师非常概念化,对他的定义不是很具体,所以我遇到了麻烦。我不断收到 .class 预期错误。

public class Array {

    public static void main(String[] args) {       
        int num [][] = {{4, 6, 7, 2},
                        {5, 12, 9, 8},
                        {1, 0, 3, 10},
                        {5, 3, 14, 11}};

        System.out.println("the array elements are:");
        for(int i = 0; i < num.length; i++){
            System.out.println();
            for(int j = 0; j < num[i].length; j++)
                System.out.print(num[i][j] + " ");
        }

        System.out.println("swaped elements are:");
        for(int i = 0; i < num.length; i++){
            System.out.println();
            for(int j = 0; j < num[i].length; j++)
                System.out.print(swap(num[][]) + " ");
        }
    }

    public static void swap (int x[][]){
        for(int i = 0; i < x.length; i++){
            int temp = x[0][i];
            if (x[0][i] > x[2][i] ){
                x[2][i] = temp;
                x[0][i] = x[2][i];
            }
        }
    }
}
4

2 回答 2

0

swap()不返回任何东西。即使您确实解决了其他问题(num[][]是语法错误),您也需要指定从交换返回的内容。提示:可能是您修改的数组。

于 2012-04-28T00:58:51.633 回答
0
  • 编写一个程序来读取一个 4x4 的二维数组。

我没看到你在读什么。只是初始化它。也许您应该从标准输入或文件中读取?

  • 然后读取数组的第一个元素并将其与每列的第三个元素进行比较。
  • 用两者中较大的值替换较小的值。
  • 创建一个名为 swap 的方法来交换值

作为一种交换方法,我希望使用 2D-Array 中的 2 个位置的 4 个索引的方法,交换值所在的位置。

public static void swap (int x[][], int i1, int i2, int j1, int j2) {
    int temp  = x[i1][j1];
    x[i1][j1] = x[i2][j2];
    x[i2][j2] = temp;
}

你听说过简化的 for 循环吗?

public static void show (int x[][]) {
    for (int [] inner : x)
        for (int i : inner)
            System.out.print (i + " ");
}
于 2012-04-28T01:12:56.533 回答