这是我应该做的:
编写程序以读取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];
}
}
}
}
答案 0 :(得分:0)
swap()
不会返回任何内容。即使您确实解决了其他问题(num[][]
是语法错误),您也需要指定从swap返回的内容。提示:可能是你修改过的数组。
答案 1 :(得分:0)
我没有看到你在读东西。只是初始化它。也许你应该从stdin或文件中读取?
作为交换方法,我期望一个方法在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-loop?
public static void show (int x[][]) {
for (int [] inner : x)
for (int i : inner)
System.out.print (i + " ");
}