Re: [問題] 有些觀念看不懂~有人可以幫我講解嗎?感恩!!
※ 引述《multani.bbs@bbs.wretch.cc (沒有msn的日子)》之銘言:
: ※ 引述《kb76628.bbs@ptt.cc (小伊)》之銘言:
: > 最近學剛修了資料結構(使用java)因為我之前只修過C,有些問題不太懂,版上有大大可\
: > 以指導一下嗎?
: > 我從課本結錄下來,這是一個計算加起來最大的連續序列演算法
: > ------------------------------
: > public static int maxsubsum1(int〔〕 a) /*public static 一定要打嗎?*/
: > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /*黃色部分的語法我想了很久,但看不太懂,請問它的觀念是什麼?*/
: > /*[]是指陣列嗎?哪些變數是陣列的資料 型態*/
: > { int maxsum=0;
: >
: > for(int i=0;i<a.length;i++)
: > for (int j=i;j<a.length;j++) /*a.length那個點是什麼指令,這個我之前沒讀過,有人可以講解嗎?*/
: > {
: > int thisum=0;
: > for(int k=i;k<=j;k++)
: > thissum+=a〔k〕;
: >
: > if(thissum>maxsum)
: > maxsum=thissum;
: >
: > }
: >
: > return maxsum;
: >
: > 不好意思,請大大幫忙講解了!!
: 黃色的部份就是說這是一個函式
: 而他回傳資料型態是int、導入的是一個int的陣列
: a.length是指a這個array長度
: 應該是指裡面有多少不是空值的int資料
和空值沒有關係, a.length 就是 a 陣列的長度
所謂的 a.length 就是 access a 的變數成員 length
這個變數成員是 public final int
在陣列實體化之後就決定了
: 至於static要不要打取決你要怎麼使用這個function
: 如果你要在靜態宣告的函式底下使用這個函式
: 前面就必須加上static
在動態宣告的函式下也可以呼叫 static method
靜態宣告的函式也可以呼叫 static method
所謂的 static method
只能以 <classname>.<static-methodname>([arguments]*) 的方式來呼叫
而 static method 所 access 的成員變數,也是靜態的成員變數
我認為關於 static 和 non-static method 的不同
還是應該回歸到 OO 的概念來說明
才會有 feeling....
--
〒作者:H45 來自:85-205.dorm.ncu.edu.tw
◎二進位的世界【140.115.50.50‧binary.csie.ncu.edu.tw】
討論串 (同標題文章)