多次元文字列配列の操作に問題があります。わかりやすくしていただければ幸いです。
多次元文字列配列がどのように機能するかを理解するために、いろいろと試してみたサンプルコードを以下に投稿します。私はコメントで、私が何が起こると期待し、何が結果になると期待するかを書きましたが、そうではありません。私の質問は、なぜそれが私が考えているように機能しないのかということです。マトリックスを作成する必要があります[1] [2] [3]
[4] [5] [6]
また、2x3 martrixがすでに設定されている場合、[1] [1]などの特定の要素に値を再割り当てするにはどうすればよいですか、または行を呼び出して変数に割り当てる必要がありますか。このサンプルコード全体は、多次元文字列配列で要素を割り当ててから再割り当てする方法を学ぶためのものです。これらの文字列配列リストは、事前に次元がわからず、値が変更されるため、.addメソッドを使用し、最終的には.setを使用する必要があります。
助けてくれてありがとう、StackOverflowにあるように見える素晴らしいコミュニティ
TextView displayanswer;
String text0, text1, text2, text3, text4, text5, text6;
ArrayList<String> column = new ArrayList<String>();
ArrayList<ArrayList<String>> row = new ArrayList<ArrayList<String>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test1);
displayanswer = (TextView) findViewById(R.id.textView1);
//Creates Matrix in column variable of [1][2][3]
column.add("1");
column.add("2");
column.add("3");
row.add(column); //Creates Matrix in row variable of [1][2][3]
row.add(column); //Creates 2 dimension matrix of [1][2][3]
// [1][2][3]
column.set(0, "4"); //column variable Matrix becomes [4][2][3]
column.set(1, "5"); //column variable Matrix becomes [4][5][3]
column.set(2, "6"); //column variable Matrix becomes [4][5][6]
row.set(1,column); //2 dimensional matrix becomes [1][2][3]
//[4][5][6]
column = row.get(0); //get first row of 2 row matrix, should be[1][2][3]
//Assigning first row elements to text strings
text0 = column.get(0); text1 = column.get(1); text2 = column.get(2);
column = row.get(1); //gets second row of 2 row matrix, should be [4][5][6]
//Assigning second row elements to text strings
text3 = column.get(0); text4 = column.get(1); text5 = column.get(2);
//should give me 123456 but instead I get 456456???
displayanswer.setText(""+text0 +text1 +text2 +text3 +text4 +text5);
}
}