標籤

二元樹 (1) 字串常數池 (1) 投資 (3) 每月損益 (37) 例外處理 (1) 泛型 (2) 股票 (15) 指標 (5) 英文 (8) 基本資料型別 (1) 期貨 (1) 程式交易 (10) 量化投資 (5) 亂亂寫 (3) 概念 (3) 資料結構 (3) 演算法 (3) 數學 (3) 轉型 (1) AMA (1) ArrayList (1) assert (1) BeautifulSoup (1) C/C++ (8) casting (1) ClassCastException (1) classpath (1) Collection (4) Comparable (1) comparTo() (1) constructor (1) database (3) Debian (1) Dropbox (2) EA (2) enum (1) equals() (2) exception (3) extends (1) ffmpeg (1) final (1) Git (1) HashMap (1) HashSet (1) hasNext() (1) HTS (3) instanceof (1) IS-A (1) Iterator (1) JAVA (43) length (1) Linux (31) List (1) Mac (6) Map (1) ML (2) MT4 (6) MySQL (2) next() (1) NullPointerException (1) Number (1) Numpy (2) OpenCart (1) OpenCV (3) OSX (1) overloading (1) overriding (3) pandas (2) PHP (8) PriorityQueue (1) Python (11) Queue (1) random() (1) reverse() (1) Samba (1) SCJP (21) sqrt() (1) synchronized (1) talib (1) ufw (1) uTorrent (1) var-args (2) VHF (1) vim (2) Yhoo知識+ (4)

2012年12月7日 星期五

三維陣列走訪

試撰寫一程式,請利用三維列陣A完成下列題目的要求。列陣A的值如下
int A[][][]={{{15,50,65},{38,94,25},
{79,44,19},{89,54,73}},
    {{14,90,46},{43,23,67},
{32,56,78},{94,78,40}}};

(a)請印出陣列內容。
(b)在陣列A裡找出所有大於等於50的元素,將該元素重新設值為99。
(c)印出完成(b)之後的陣列內容。


--------------------------------------

public class Array99{
public static void main(String[] args){
int[][][] A={{{15,50,65},{38,94,25},{79,44,19},{89,54,73}},
    {{14,90,46},{43,23,67},{32,56,78},{94,78,40}}};
    showArray(A);
    showArray(A);
}
public static void showArray(int[][][] a){
for(int i=0; i<a.length; i++){
for(int j=0; j<a[0].length; j++){
for(int k=0; k<a[0][0].length; k++){
System.out.print(a[i][j][k]+ " ");
if(a[i][j][k]>=50) a[i][j][k] = 99;
}
System.out.println();
}
}
System.out.println();
}
}

補充:其實for迴圈那裡用for-each會比較好理解,如for(int[][] b: a)...for(int[] c: b)...for(int d: c),不過這樣就不能指派值了。

好啦,還是補一下for-each的版本:

public class Array99{
public static void main(String[] args){
int[][][] A={{{15,50,65},{38,94,25},{79,44,19},{89,54,73}},
    {{14,90,46},{43,23,67},{32,56,78},{94,78,40}}};
    showArray(A);
    showArray(A);
}
public static void showArray(int[][][] a){
for(int[][] i: a){
for(int[] j: i){
for(int k=0; k<j.length; k++){     //這裡如果用for(int k: j)會無法指派值
System.out.print(j[k]+ " ");
if(j[k]>=50) j[k] = 99;
}
System.out.println();
}
}
System.out.println();
}
}

沒有留言:

張貼留言