質問編集履歴

2 コードの修正

退会済みユーザー

退会済みユーザー

2016/08/24 19:58  投稿

copyOfメソッドについて
Javaのjava.util.ArraysクラスのcopyOfメソッドを使って、多配列をコピーしようとしているのですが、うまくいきません。
ところで、多次元配列の初期化については以下のような方法で可能であることは以前ここで教えていただきました。
```Java
int[][] matrix = new int[3][4];
for(int[] x: matrix){
   java.util.Arrays.fill(x, 3);
}
```
同じように以下に記述してみたのですが、うまくいきません。
```Java
int[][] newMatrix = new int[][];
for(int[] intArray:matrix){
int[][] newMatrix;
       for(int[] intArray:matrix){
           newMatrix[] = Arrays.copyOf(intArray, matrix[0].length);
       }
```
何がダメなのでしょうか?
調べてみたのですが、よくわかりませんでした。
わかる方、回答お願いします。
  • Java

    24150 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1 インスタンス生成の場所を修正

退会済みユーザー

退会済みユーザー

2016/08/24 18:32  投稿

copyOfメソッドについて
Javaのjava.util.ArraysクラスのcopyOfメソッドを使って、多配列をコピーしようとしているのですが、うまくいきません。
ところで、多次元配列の初期化については以下のような方法で可能であることは以前ここで教えていただきました。
```Java
int[][] matrix = new int[3][4];
for(int[] x: matrix){
   java.util.Arrays.fill(x, 3);
}
```
同じように以下に記述してみたのですが、うまくいきません。
```Java
int[][] newMatrix = new int[][];  
for(int[] intArray:matrix){
           int[][] newMatrix = new int[][];  
           newMatrix[] = Arrays.copyOf(intArray, matrix[0].length);
       }
```
何がダメなのでしょうか?
調べてみたのですが、よくわかりませんでした。
わかる方、回答お願いします。
  • Java

    24150 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る