0

2 つのメソッドと 2 次元配列を使用して単純な Java コードを実装するタスクがあります。しかし、私が見つけられないいくつかの単純な間違いがあります。ラインです

getArray(nc);

「初期化されていない可能性がある」として下線が引かれた「nc」

   public static void main (String[] args) {
       int nc[][];
       getArray(nc);
       for (int i=0;i<nc.length;i++)
       {
           System.out.println();
           for(int k=0;k<nc.length;k++)
           {
               System.out.print(nc[k]+", ");
           }
       }
   }

   static void getArray(int[][]nc){
       for (int i=0;i<nc[0].length;i++)
       {
           for(int k=0;k<nc.length;k++)
           {
               nc[k][i]=1+(int)(Math.random()*100);
           }
       }    
   }
}

私がこのようにすれば

public static void main (int nc[][]) {

main メソッドがないことを示しています。ありがとう。

4

2 に答える 2

1

メソッドが作成さgetArray(int[][])れると、配列を受け取り、それを埋めます。ただし、メソッドの先頭を見ると、main決して初期化されていません。

メソッドでそれを行うことができますmain

public static void main (String[] args) {
    int nc[][] = new int [10][10]; // Or any other size
    getArray(nc);
...

ただし、これは Java コードのように「感じられる」のではなく、C のように感じられますgetArray。 ) 割り当て:

public static void main (String[] args) {
    int nc[][] = getArray();
    /* The rest of your main method */
}

private static int[][] getArray() {
    int nc[][] = new int[10][10]; // Or any other size
    for (int i=0;i<nc[0].length;i++)
       {for(int k=0;k<nc.length;k++)
       {nc[k][i]=1+(int)(Math.random()*100);}}    }}
于 2013-11-10T16:59:45.883 に答える