博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字典功能的简单实现
阅读量:6826 次
发布时间:2019-06-26

本文共 5613 字,大约阅读时间需要 18 分钟。

hot3.png

设计一个词典类Dict,Dict中每个单词项(DictItem)包括英文单词及对应的中文含义,Dict有一个英汉翻译成员函数,通过查词典(只需要表达查询对应关系即可,不需要真实的数据)的方法将一段英语翻译成对应的汉语

/********************************************************************************* * * 功能描述:    英语类 * * 作    者:    赵恒雍 * * 修改日期:    2012-8-9 *  * 备    注:    英语单词************************************************************************************/namespace OOPDict{    using System;    using System.Collections.Generic;    using System.Linq;    using System.Text;    ///     /// 英语类    ///     class English    {        ///         /// 英语单词        ///         private string englishWord;        ///         /// 封装字段        ///         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;        ///     /// 汉语类    ///     class Chinese    {        ///         /// 汉语意思        ///         private string chineseMeaning;        ///         /// 封装字段        ///         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;        ///     /// 词典类    ///     class Dict    {        //Dictionary建立,即词典的建立        static Dictionary
dictionary = new Dictionary
(); //将每个单词和它对应的中文含义封装起来,放入单词项DictItem中 //1,保存单词 //2,保存中文含义 //3,放入Dictionary中 ///
/// 存入单词 /// ///
英语单词 ///
汉语含义 ///
词典
public Dictionary
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;    ///     /// 测试类    ///     class Program    {        ///         /// 程序入口处        ///         /// args        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();        }        ///         /// 预先放入一些单词项进入字典,用来测试        ///         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);        }    }}

转载于:https://my.oschina.net/u/586106/blog/71777

你可能感兴趣的文章
wxWidgets wxSqlite3 wxcode
查看>>
tomcat+eclipse web应用开发环境配置
查看>>
研发过程管理导图-第一稿(转)
查看>>
3A认证
查看>>
码流/码率/码速 解释
查看>>
开通了微博
查看>>
入乡随俗:ASP.NET的本地化(Localization)简介
查看>>
【原】触摸背景关闭键盘的代码实现
查看>>
eclipse启动weblogic控制台显示乱码问题
查看>>
sqlserver excel,txt,access等文件的互導
查看>>
sqlcmd 关键语法$()的冲突
查看>>
python实现的ftp服务器
查看>>
《Effective C#》读书笔记——条目4:使用Conditional特性而不是#if条件编译<C#语言习惯>...
查看>>
数组中超过出现次数超过一半的数字
查看>>
hibernate---->lazy
查看>>
创建任意形状的窗口 .
查看>>
漫谈C语言及如何学习C语言(转)
查看>>
浅谈异常与恋爱
查看>>
分享:http-watcher更新,改进对动态web程序的支持
查看>>
设计模式---->经典设计模式一览
查看>>