Java 我一直收到一个.class预期错误

Java 我一直收到一个.class预期错误,java,arrays,methods,swap,Java,Arrays,Methods,Swap,下面是我应该做的: 编写一个程序来读取4x4的二维数组。然后读取数组的第一个元素,并将其与每列的第三个元素进行比较。用两个值中较大的值替换较小的值。创建一个名为swap的方法来交换值 我不确定我做错了什么,我刚刚开始学习数组。我的老师概念性很强,对他的定义也不是很具体,所以我很难理解。我一直收到一个.class预期错误 public class Array { public static void main(String[] args) { int num

下面是我应该做的:

编写一个程序来读取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];
            }
        }
    }
}
公共类数组{
公共静态void main(字符串[]args){
int num[][]={{4,6,7,2},
{5, 12, 9, 8},
{1, 0, 3, 10},
{5, 3, 14, 11}};
System.out.println(“数组元素为:”);
for(int i=0;ix[2][i]){
x[2][i]=温度;
x[0][i]=x[2][i];
}
}
}
}
swap()
不会返回任何内容。即使您确实解决了另一个问题(
num[][]
是一个语法错误),您也需要指定要从交换返回的内容。提示:可能是您修改的数组。

  • 编写一个程序来读取4x4的二维数组
我没看到你在读什么。只是初始化它。也许你应该从stdin或文件中读取

  • 然后读取数组的第一个元素,并将其与每列的第三个元素进行比较
  • 用两个值中较大的值替换较小的值
  • 创建一个名为swap的方法来交换值
作为交换方法,我希望在2D数组中的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 + " ");
}

你有什么问题?你有错误吗?如果您粘贴一些输出,它将有助于这对应于
someMethod(array[])duplinkNo中的示例。不能将另一个数组绑定到传递的对象名,但在数组内部执行的更改将反映在原始对象中。Java是引用的
传递副本
,所以引用是复制的,但它不是深度副本。你可能是对的-但是如果OP希望打印,那么他们需要获得某种返回值。伙计们,我知道我做错了什么,是的,我无法打印数组值,因为swap不会返回任何东西。我所做的只是执行交换(num);System.out.println();System.out.println(“交换元素为:”);for(int i=0;iSystem.out.print
)没有实际意义,因为
swap
每次都会在元素中进行内部循环。您将执行此交换
num.length*num[i].length
次。不,我不知道如何使用简化的for循环,我将尝试将其合并到我的代码中,谢谢:d!