设计一个词典类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); } } }