就像二維陣列的每一行arr[0]、arr[1]...可以看成是一個一維陣列一樣,java的一個二維陣列的每一列可不可以看成是一個一維陣列,如果可以又如何用代碼表示每一列???
uj5u.com熱心網友回復:

不是很理解你要表達的是什么意思
uj5u.com熱心網友回復:
String arr[][] = {{"aa","bb","cc","dd"},{"11","22","33"},{"1q","2e","3r","4t","6a"}};
String[] str = arr[1];
String stra = str[1];
這樣表示每一列?
uj5u.com熱心網友回復:
問題如下代碼所述
public class hello{
public static void main(String[] args){
int[][] arrM = new {{1, 2, 3}, {4, 5, 6}, {7, 8, 9},{10, 11, 12}};
int arrR1 = arrM[0]; //表示第一行的所有元素 1 2 3
int arrR2 = arrM[1]; //表示第二行的所有元素 4 5 6
int arrR3 = arrM[2]; //表示第三行的所有元素 7 8 9
int arrR4 = arrM[3]; //表示第四行的所有元素 10 11 12
//用代碼如何表示每一列的所有元素
int[] arrC1 = ???; //表示第一列的所有元素 1 4 7 10
int[] arrC2= ??? //表示第二列的所有元素 2 5 8 11
int[] arrC3 = ??? //表示第三列的所有元素 3 6 9 12
}
}
uj5u.com熱心網友回復:
沒有可以直接表示列的方法。
樓主可以:
1. 重新構建一個陣列,陣列元素將列的元素進行賦值,這樣的話,一個陣列就是一個列,3個列就構建3個陣列。
2. 可以將二維陣列進行轉置,也就是行列互換,那么,以前訪問行的方法,轉置之后,就是訪問列的方法了。
3. 構建自定義的陣列類,提供可以將行看做一位陣列的方法,也提供將列看做一位陣列的方法。
uj5u.com熱心網友回復:
public class hello {
public static void main(String[] args) {
int[][] arrM = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
int row = arrM.length;
int[] arrC1 = new int[row];
int[] arrC2 = new int[row];
int[] arrC3 = new int[row];
for (int i = 0; i < row; i++) {
arrC1[i] = arrM[i][0];
System.out.println(arrC1[i]);
}
for (int i = 0; i < row; i++) {
arrC2[i] = arrM[i][1];
System.out.println(arrC2[i]);
}
for (int i = 0; i < row; i++) {
arrC3[i] = arrM[i][2];
System.out.println(arrC3[i]);
}
}
}
uj5u.com熱心網友回復:
感覺可以指定行號變列號取出來的就是一列的資料了呀,寫入也是一樣,但是在代碼中讓ide或者編譯器把列當成一個物件估計不得行uj5u.com熱心網友回復:
在底層,二維陣列其實也是一維陣列,二維陣列就是保存在一個線性排列的記憶體塊,每一行相鄰的元素可以保證在記憶體里也是相鄰的,但是每一列的資料就不能保證是相鄰的記憶體塊了,除非每行就一個元素uj5u.com熱心網友回復:
那么3難陣列呢?4 5 6 維呢?
uj5u.com熱心網友回復:
無論三維四維五維在底層都會轉化為一維陣列,因為計算機底層沒有三維空間uj5u.com熱心網友回復:
理論上的二維陣列是這樣的:1、每一維是一個陣列;2、每一維的長度是一樣的。java的二維陣列應該理解為“陣列的陣列”,即:每一維必須是陣列,但是,不要求每一維的陣列長度一致。
基于以上描述可以知道,java 的二維陣列是不可以基于列操作的,因為,有些維就沒有指定的列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/47780.html
標籤:Java SE
上一篇:求Java大佬請教這道題:設計一個困形用戶界面。界面中包括三個標簽、三個文本框和一個按鈕。三個標簽分別是[數學]英語分數,單擊求和按鈕后在文本框中顯示總分。
