0

これが私がすることになっていることです:

4x4の2次元配列を読み取るプログラムを作成します。次に、配列の最初の要素を読み取り、それを各列の3番目の要素と比較します。小さい方の値を2つの大きい方の値に置き換えます。値を交換するために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
  • 4x4 の 2 次元配列を読み取るプログラムを作成します。

私はあなたが何かを読んでいるのを見ません。初期化するだけです。おそらく、標準入力またはファイルから読み取る必要がありますか?

  • 次に、配列の最初の要素を読み取り、それを各列の 3 番目の要素と比較します。
  • 小さい方の値を 2 つの大きい方の値に置き換えます。
  • 値を交換する 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 + " ");
}
于 2012-04-28T01:12:56.533 に答える
0

swap() doesn't return anything. Even if you did resolve the other issue (num[][] is a syntax error), you'd need to specify something to return from swap. Hint: probably the array you modified.

于 2012-04-28T00:58:51.633 に答える