###前提・実現したいこと
どうもこんにちは。初めてこのサイトを利用させていただきます。
最初に書きますが、バグの質問ではないです。
配列のコピーについて質問させていただきます。
今、コンストラクタでは、newでメモリ確保したあと、for文を回して1つ1つ値を代入しています。正直面倒です。もっとスマートな方法はないのでしょうか?
プログラミング自体、まだ経験が浅いので、どんどん知識を蓄えたいです。よろしくお願いします。
###発生している問題・エラーメッセージ
なし
###該当のソースコード
Java
1public class RubixCube{ 2 3 public static final int BACK = 0; 4 public static final int UP = 1; 5 public static final int LEFT = 2; 6 public static final int FRONT = 3; 7 public static final int RIGHT = 4; 8 public static final int DOWN = 5; 9 10 public static final char[][][] finished_state = {// 揃った状態 11 {{'O','O','O'},{'O','O','O'},{'O','O','O'}},// BACK 12 {{'Y','Y','Y'},{'Y','Y','Y'},{'Y','Y','Y'}},// UP 13 {{'B','B','B'},{'B','B','B'},{'B','B','B'}},// LEFT 14 {{'R','R','R'},{'R','R','R'},{'R','R','R'}},// FRONT 15 {{'G','G','G'},{'G','G','G'},{'G','G','G'}},// RIGHT 16 {{'W','W','W'},{'W','W','W'},{'W','W','W'}},// DOWN 17 }; 18 19// キューブの状態保存用 20 private char[][][] state; 21 22 RubixCube(){// 揃った状態を代入 23 state = new char[6][3][3]; 24 for(int surface=0 ; surface<6 ; surface++){ 25 for(int j=0;j<3;j++){ 26 for(int i=0;i<3;i++){ 27 this.state[surface][j][i] = finished_state[surface][j][i]; 28 } 29 } 30 } 31 } 32//以下省略
###試したこと
this.state = finished_state;
としたがfinished_stateが書き代わってしまってうまくいかなかった。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/11 10:29