我在使用多维字符串数组时遇到了麻烦,希望能有任何清晰的说明。
我将在下面发布一个示例代码,我编写该代码只是为了了解多维字符串数组的工作原理。我在评论中写下了我期望发生的事情以及我期望的结果,但事实并非如此。我的问题几乎是为什么它不像我想的那样工作,它应该创建矩阵 [1][2][3]
[4][5][6]
还有一个额外的问题,如果我已经设置了 2x3 矩阵,我如何重新分配特定元素中的值,例如 [1][1],或者我是否必须调用该行并将其分配给一个变量。整个示例代码是为了让我学习如何在多维字符串数组中分配元素,然后重新分配它们。这些字符串数组列表,我不知道提前的维度和值的变化,我需要使用 .add 方法并最终使用 .set。
提前感谢您的任何帮助,令人惊叹的社区似乎在 Stack Overflow
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);
}
}