設計一個詞典類Dict,Dict中每一個單詞項(DictItem)包括英文單詞及對應的中文含義,Dict有一個英漢翻譯成員函數,經過查詞典(只須要表達查詢對應關係便可,不須要真實的數據)的方法將一段英語翻譯成對應的漢語c#
/********************************************************************************* * * 功能描述: 英語類 * * 做 者: 趙恆雍 * * 修改日期: 2012-8-9 * * 備 注: 英語單詞 ************************************************************************************/ namespace OOPDict { using System; using System.Collections.Generic; using System.Linq; using System.Text; /// <summary> /// 英語類 /// </summary> class English { /// <summary> /// 英語單詞 /// </summary> private string englishWord; /// <summary> /// 封裝字段 /// </summary> public string EnglishWord { get { return englishWord; } set { englishWord = value; } } } }
/********************************************************************************* * * 功能描述: 漢語類 * * 做 者: 趙恆雍 * * 修改日期: 2012-8-9 * * 備 注: 中文含義 ************************************************************************************/ namespace OOPDict { using System; using System.Collections.Generic; using System.Linq; using System.Text; /// <summary> /// 漢語類 /// </summary> class Chinese { /// <summary> /// 漢語意思 /// </summary> private string chineseMeaning; /// <summary> /// 封裝字段 /// </summary> public string ChineseMeaning { set { chineseMeaning = value; } get { return chineseMeaning; } } } }
/********************************************************************************* * * 功能描述: 詞典類 * * 做 者: 趙恆雍 * * 修改日期: 2012-8-9 * * 備 注: 設計一個詞典類Dict,Dict中每一個單詞項(DictItem)包括英文單詞及對應的中文含義, * Dict有一個英漢翻譯成員函數,經過查詞典(只須要表達查詢對應關係便可, * 不須要真實的數據)的方法將一段英語翻譯成對應的漢語 ************************************************************************************/ namespace OOPDict { using System; using System.Collections.Generic; using System.Linq; using System.Text; /// <summary> /// 詞典類 /// </summary> class Dict { //Dictionary創建,即詞典的創建 static Dictionary<string, string> dictionary = new Dictionary<string, string>(); //將每一個單詞和它對應的中文含義封裝起來,放入單詞項DictItem中 //1,保存單詞 //2,保存中文含義 //3,放入Dictionary中 /// <summary> /// 存入單詞 /// </summary> /// <param name="english">英語單詞</param> /// <param name="chinese">漢語含義</param> /// <returns>詞典</returns> public Dictionary<string, string> DicItem(English english, Chinese chinese) { //取得英語單詞 string englishWord = english.EnglishWord; //取得中文含義 string chineseMeaning = chinese.ChineseMeaning; //判斷單詞是否存在於字典中 if (dictionary.ContainsKey(englishWord))//存在 { dictionary[englishWord] = chineseMeaning; } else { //不存在 dictionary.Add(englishWord, chineseMeaning); } return dictionary; } //翻譯部分,即經過單詞來查出他的漢語,函數名爲:GetChineseTranslationByEnglish //1,把輸入的語句經過空格號來分割成一個字符串數組(暫時只考慮一句話) //2,依次在DictItem中查找出對應漢語的意思並依次進行想加 ,能夠利用字符串 //3,返回字符串給調用該方法的用戶 public string GetChineseTranslationByEnglish(string myEnglishString) { //經過空格來劃分出單詞 string[] mySplit = myEnglishString.Split(' '); //中文含義字符串 string myChineseMeaning = string.Empty; //遍歷 foreach (string myEnglishWord in mySplit) { //判斷該單詞是否存在於字典中 if (dictionary.ContainsKey(myEnglishWord))//包含 { //獲取對應的中文含義 myChineseMeaning = myChineseMeaning + dictionary[myEnglishWord]; continue; } else { //不存在 continue; } } return myChineseMeaning; } } }
/********************************************************************************* * * 功能描述: 測試類 * * 做 者: 趙恆雍 * * 修改日期: 2012-8-9 * * 備 注: 測試 ************************************************************************************/ namespace OOPDict { using System; using System.Collections.Generic; using System.Linq; using System.Text; /// <summary> /// 測試類 /// </summary> class Program { /// <summary> /// 程序入口處 /// </summary> /// <param name="args">args</param> static void Main(string[] args) { //放入單詞項 PutDictItem(); Console.WriteLine("因爲各類緣由,單詞項並很少,只能輸入hello和world"); Console.WriteLine("請輸入一句英語:"); //讀取控制檯輸入 string str = Console.ReadLine(); Dict dict = new Dict(); string myChineseMeaning = dict.GetChineseTranslationByEnglish(str); Console.WriteLine(myChineseMeaning); Console.ReadLine(); } /// <summary> /// 預先放入一些單詞項進入字典,用來測試 /// </summary> public static void PutDictItem() { //建立字典對象 Dict dict = new Dict(); //建立英語單詞 English english1 = new English(); english1.EnglishWord = "hello"; English english2 = new English(); english2.EnglishWord = "world"; //建立對應中文含義 Chinese chinese1 = new Chinese(); chinese1.ChineseMeaning = "你好"; Chinese chinese2 = new Chinese(); chinese2.ChineseMeaning = "世界"; //預先放入幾個單詞項 dict.DicItem(english1, chinese1); dict.DicItem(english2, chinese2); } } }