Presentation is loading. Please wait.

Presentation is loading. Please wait.

第四章 陣列、字串與排序.

Similar presentations


Presentation on theme: "第四章 陣列、字串與排序."— Presentation transcript:

1 第四章 陣列、字串與排序

2 陣列的宣告 陣列宣告時若不指定初值,則必須使用new敘述來取得記憶體空間。 陣列的索引值從0開始 int a[]=new int[6];
double b[]; b=new double[5]; int c[]={37,25,43,12,51,7}; int a[]=new int[6]; a[0],a[1],…,a[5]

3 陣列的宣告(續) 二維陣列 這樣宣告也可以 int a[][]={{3,7,2,5,4},{1,6,7,9,8}};
int b[][]=new double[5][5]; double c[][]; c=new double[4][6]; int a[]; int [] a; double b[][]; double [][] b;

4 Array的長度 屬性 length 陣列的長度(元素個數) 陣列名稱.length

5 複製Array System.arraycopy(s,0,t,0,s.length)
將原始陣列s的第0個元素開始的s.length個元素複製到陣列t,並由t的第0個位置開始填充

6 Array的排序 內建排序method sort 需匯入 java.util.Arrays 引用 Arrays.sort(一維陣列名稱)

7 將Array所有位置賦予相同值 Arrays.fill(陣列名稱,賦予值) Java.util.Arrays

8 比較兩陣列是否相等 Arrays.equals(陣列一,陣列二) Java.util.Arrays 回傳值 True False

9 改變陣列大小 陣列的大小允許動態改變 int a[]=new int[5]; a=new int[10];

10 字元陣列(C-string) 宣告方式 字元陣列轉換為字串形式 char ch[]=new char[10];
上述的宣告僅可存放9個字元,最後一個為0,或稱為null char ch[]={’A’,’B’,’C’,’D’}; 字元陣列轉換為字串形式 方法一 String str=new String(ch); 方法二 String str=String.copyValueOf(ch);

11 字串陣列 字串宣告方式 字串陣列宣告方式 字串的連結使用『+』運算子來進行 String str=new String(”字串內容“);
String str[]={“ABC”,”DEF”,”GHI”}; String str[]=new String[3]; 字串的連結使用『+』運算子來進行

12 字串的比較 字串1.equals(字串2) 字串1.compareTo(字串2) 回傳值 回傳值為兩字串第一個不同字元的差值 True
False 字串1.compareTo(字串2) 回傳值為兩字串第一個不同字元的差值

13 字串與字串間的『 == 』關係 字串間不能以『 == 』符號進行連接比較 但是 if(str1==str2) 卻是有意義的
用以判斷字串1與字串2的記憶體參考位置是否相同

14 排序(Sort) 汽泡排序法(Bubble Sort)

15 字串的排序

16 子字串的處理 字串.substring(n) 字串.substring(n1,n2) 將字串index為n(含)以後的字元傾印出
將字串index為n1(含)到index為n2的字元傾印出

17 字串內容修改 字串.replace(字元,替換字元)

18 亂數(Random Number) Java中產生亂數必須使用Random class,而建立Random class的物件時必須設定「亂數種子」 若是亂數種子一樣,則每次執行程式時所產生的亂數皆相同 亂數種子的取得一般採用兩種途徑 時間 Math class中的random()

19 亂數(續) Random class import java.util.Random; 建立亂數物件 取得0~某一數值範圍間的任一數值
Random 變數名稱=new Random(亂數種子); 取得0~某一數值範圍間的任一數值 變數名稱.nextInt(數值) int nextInt(int n) 隨機取得0~n範圍裡的任一整數型態數值

20 亂數(續)

21 亂數(續) Calendar類別 轉換Date物件及年月日十分秒等的基本類別
提供getInstance()的method以取得Calendar物件,使用方法如下 Calendar 變數名稱=Calendar.getInstance(); 倘若提供不完整的日期資料,將會預設為1970年1月1日 使用get()方法來擷取時間 使用set()方法來設定時間 Calendar資料欄名稱 ERA, YEAR, MONTH, WEEK_OF_YEAR, WEEK_OF_MONTH, DAY_OF_MONTH, DAY_OF_YEAR, DAY_OF_WEEK, DAY_OF_WEEK_IN_MOMNTH, DATE AM_PM, HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND, ZONE_OFFSET, DST_OFFSET

22 亂數(續)

23 亂數(續) 隨機函數 Math.random() 產生一個介於0到1之間的亂數值

24 如何隨機產生不重複的數值 先令陣列的起始值皆為-1 每產生一個亂數即與陣列內每個元素值比較 倘若出現過則回上一步,直到不曾出現過為止

25 習題 A5-40 第八題 請製作一個會隨機產生10組介於50~100間6的倍數,且將所產生的倍數放置到一維陣列中,再將陣列中的元素由小到大排列的程式。


Download ppt "第四章 陣列、字串與排序."

Similar presentations


Ads by Google