Presentation is loading. Please wait.

Presentation is loading. Please wait.

鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所

Similar presentations


Presentation on theme: "鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所"— Presentation transcript:

1 鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
陣列與字串 鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所

2 程式 ArrayAccess (1/3) using System; namespace ArrayAccess {
class Program /* 示範一維陣列之宣告與存取 * 3/10/2007 */ static void Main(string[] args) const int N = 6; int[] intArray = new int[N]; for (int i = 0; i < N; i++)

3 程式 ArrayAccess (2/3) intArray[i] = i * 10; } Console.WriteLine(
for (int i = 0; i < N; i++) { "intArray[{0}] : {1} ", i, intArray[i]); string[] strArray = { "這", "是", "陣列", "測試", "!!" }; "以下列出陣列物件strArray的所有元素值"); for (int i = 0; i < strArray.Length; i++)

4 程式 ArrayAccess (3/3) Console.WriteLine(
"strArray[{0}] : {1} ", i, strArray[i]); } "陣列strArray的長度為{0},開始索引值為{1}, 結束索引值為{2} \n", strArray.Length, strArray.GetLowerBound(0), strArray.GetUpperBound(0)); Console.ReadLine();

5 一維陣列 一維陣列與陣列索引 int[] intArray = new int [6]; intArray[0] intArray[3]

6 一維陣列物件特性 陣列長度 Length 陣列開始索引值 GetLowerBound(0) 陣列結束索引值 GetUpperBound(0)

7 練習 寫一程式,用迴圈輸入3位同學成績到一維陣列,再用迴圈把陣列長度及所有成績印出來. 修改上述程式, 使同學人數可以在程式執行時決定.

8 程式 Array2D (1/3) using System; namespace Array2D { class Program /*
* 示範矩形陣列的使用 * 3/12/2007 */ static void Main(string[] args) const int N_ROW = 3; const int N_COL = 6; string[,] strArray = new string[N_ROW, N_COL];

9 程式 Array2D (2/3) Console.WriteLine(
"strArray 是{0} X {1} 的{2} 維陣列\n", N_ROW, N_COL, strArray.Rank); for (int i = 0; i < N_ROW; i++) { for (int j = 0; j < N_COL; j++) strArray[i, j] = "value" + i.ToString() + j.ToString(); } Console.WriteLine("以下為strArray內含的元素\n");

10 程式 Array2D (3/3) Console.WriteLine("第{0} 列\n", i);
for (int j = 0; j < N_COL; j++) { Console.WriteLine("strArray[{0},{1}]: {2}", i, j, strArray[i, j]); } Console.WriteLine(); Console.ReadLine();

11 矩形陣列 int[ , ] intArray = new int [3, 6]; intArray[0,0] intArray[0,5]

12 練習 寫一程式,設值及印出3階魔方陣(河圖洛書)

13 程式 Array2DA (1/3) using System; namespace Array2DA { class Program /*
* 示範不規則二維陣列之使用 */ static void Main(string[] args) const int N_ROW = 3; string[][] strArray = new string[N_ROW][]; for (int i = 0; i < N_ROW; i++) strArray[i] = new string[i + 2]; }

14 程式 Array2DA (2/3) for (int i = 0; i < N_ROW; i++) {
for (int j = 0; j < strArray[i].Length; j++) strArray[i][j] = "value" + i + j; } Console.WriteLine( "以下為strArray[{0}]所包含的元素\n", i); Console.Write(strArray[i][j] + " : ");

15 程式 Array2DA (3/3) Console.WriteLine("\n"); } Console.ReadLine();

16 不規則二維陣列 int[][] intArray = new int [3]; intArray[0,0] intArray[0,1]

17 練習 宣告並由使用者輸入一個不規則二維陣列, 此一陣列共三列, 每列的長度分別為1, 2, 3。

18 程式 StringManipulation (1/6)
using System; namespace StringManipulation { /* * 示範字串之處理方式 * skj 3/1/2008 */ class Program static void Main(string[] args) string name = "Thomas"; Console.WriteLine(" name = {0}", name);

19 程式 StringManipulation (2/6)
// 印出字串長度 Console.WriteLine(" length of name = {0}", name.Length); // 比較字串 string name1 = "Thomas"; int result = String.Compare( name, name1 ); if (result == 0) { Console.WriteLine( " \"{0}\" and \"{1}\" are equal", name, name1); }

20 程式 StringManipulation (3/6)
else if (result > 0) { Console.WriteLine( " \"{0}\" is greater than \"{1}\" ", name, name1); } else " \"{0}\" is less than \"{1}\" ", name, name1);

21 程式 StringManipulation (4/6)
// 連結字串 string concatedString = String.Concat(name, name1); Console.WriteLine( " \"{0}\" and \"{1}\" are concatenated as \"{2}\" ", name, name1, concatedString); // 字串設值 string newString = name; " newString is assigned as \"{0}\" ", newString);

22 程式 StringManipulation (5/6)
// 字串複製 string nameCopy = String.Copy(name); Console.WriteLine( " nameCopy is assigned as \"{0}\" ", nameCopy); // 清除name name = String.Empty; Console.WriteLine("After setting Empty..."); Console.WriteLine(" name = {0}", name); // 檢視newString 與nameCopy " newString becomes \"{0}\" ", newString); " nameCopy becomes \"{0}\" ", nameCopy);

23 程式 StringManipulation (6/6)
// 字串格式化 const int N = 3; string[] tag = new string[N]; for (int i = 0; i < N; ++i) { tag[i] = String.Format( "tag{0}: serial number = {1}", i, i * 100); } Console.WriteLine(tag[i]);

24 練習 宣告一個字串陣列dictionary[3],內存”Alpha”、 “Beta” 、”Gamma” ,然後輸入一個字串,決定它是dictionary內的第幾個元素並印出註標。如果不在dictionary內,則印出-1。


Download ppt "鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所"

Similar presentations


Ads by Google