`

帮忙看看哪错了

阅读更多

//过了个年,学的忘了好多,准备从数据结构开始复习,复习了TreeMap时就写了个小程序,是一个简单的辞典,就是输出同//义词的

//给定辞典文件和键盘输入的单词,找出其近义词

package TreeMAP;

public class GUI {

	public GUI(ThesaurusDrivers td){}
	public void println(String str){
		System.out.println(str) ;
	}
}



*
 * 一个简单的辞典
 */
package TreeMAP;

import java.util.LinkedList;
import java.util.StringTokenizer;
import java.util.TreeMap;

public class Thesaurus {

	private TreeMap thesaurusMap ;
	
	public Thesaurus(){
		thesaurusMap = new TreeMap() ;
	}
	public void add(String line){
		LinkedList synonymList = new LinkedList() ;
		StringTokenizer st = new StringTokenizer(line) ;
		String word = st.nextToken() ;
		while(st.hasMoreTokens())
			synonymList.add(st.nextToken()) ;
		thesaurusMap.put(word, synonymList) ;
	}
	public LinkedList getSynonyms(String word){
		return (LinkedList)thesaurusMap.get(word) ;
	}
}


package TreeMAP;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;

public class ThesaurusDrivers {

	Thesaurus thesaurus ;
	GUI gui ;
	boolean readingInFileName ;
	
	public ThesaurusDrivers(){
		final String IN_FILE_PROMPT = "Please enter the path for the input file." ;
		gui = new GUI(this) ;
		thesaurus = new Thesaurus() ;
		readingInFileName = true ;
	}
	
	public void processInput(String str){
		
		final String WORD_PROMPT = "\n\nPlease enter a word. The sentinel is " ;
		final String SENTINEL = "***" ;
		final String WORD_NOT_FOUND_MESSAGE ="That word does not appear in hte thesaurus." ;
		final String SYNONYM_MESSAGE = "The synonyms of that word are " ;
		final String CLOSE_WINDOW_MESSAGE = "\n\nThe execution of the project is complete. Please close " + "this window when you are ready." ;
		
		LinkedList synonymList ;
		if(readingInFileName){
			if(thesaurusWasConstructed(str)){
				readingInFileName = false ;
				gui.println(WORD_PROMPT + SENTINEL) ;
			}
		}
		else if(!str.equals(SENTINEL)){
			synonymList = (LinkedList)thesaurus.getSynonyms(str) ;
			if(synonymList == null)
				gui.println(WORD_NOT_FOUND_MESSAGE) ;
			else{
				gui.println(SYNONYM_MESSAGE + synonymList) ;
				gui.println(WORD_PROMPT + SENTINEL) ;
			}			
		}
		else{
			gui.println(CLOSE_WINDOW_MESSAGE) ;
		}
	}
	
	protected boolean thesaurusWasConstructed (String inFileName){
		
		final String NO_INPUT_FILE_FOUND_MESSAGE = "Error: there is no file with that path. \n\n" ;
		final String ERROR_MESSAGE = "Exception:" ;
		final String IN_FILE_PROMPT = "Please enter the path for the input file." ;
		
		BufferedReader inFile ;
		String line ;
		boolean success = false ;
		
		try{
			inFile = new BufferedReader(new FileReader(inFileName)) ;
			success = true ;
			while((line = inFile.readLine()) != null)
				thesaurus.add(line) ;
			inFile.close() ;
		}catch(FileNotFoundException e){
			gui.println(NO_INPUT_FILE_FOUND_MESSAGE + IN_FILE_PROMPT) ;
		}catch(IOException e){
			gui.println(ERROR_MESSAGE + e) ;
		}
		return success ;
	}
}


package TreeMAP;

public class Test_Thesaurus {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
	
		ThesaurusDrivers td = new ThesaurusDrivers() ;
		td.processInput("thesaurus.in") ;
	}

}

/***/
/***thesaurus.in:

close near confined 
confined cramped 
correct true 
cramped confined 
near close 
one singular unique 
singular one unique 
true correct 
unique singular one
***/



 
 
0
2
分享到:
评论

相关推荐

    权限管理系统,但是无法实现其功能,请大家帮忙看看错在哪里

    在IT行业中,权限管理系统是确保数据安全和操作合规性的重要组成部分。Delphi是一种流行的Object Pascal编程环境,常用于开发桌面应用程序,包括权限控制系统。针对您提到的问题,我们需要深入理解Delphi中的权限...

    小天才G3内置应用(必须看资源描述,不然您可能错过一个绝对流量)

    这个压缩包里全是apk,并且全是小天才内置应用的apk,我希望各位大佬帮忙做成刷机包(具体操作是先下载一个安卓4.几的wearos刷机包,然后进入这个刷机包中的一个目录(usr-app)把app文件夹中的应用全删了,并替换成...

    js查错流程归纳

    1、确保您的页面元素标记是有效的 2、使用调试工具(例如:Firebug),看看是否有异常 3、引用文件或依赖模块或方法是否有效 4、减少到最小测试用例(保持删除的东西,直到问题消失等) 5、问题描述尽量简洁,保持...

    it日语单词 chinesewriter查不到的单词 式样看不懂用得着的

    【声明】 以前的我可能资源搞错,真对不起那些下载了的朋友们。...有将近8000个日语单词,在你日语式样看不明白的时候绝对用的着,而且在chinesewriter查不到单词的时候也可以找个这个帮忙,很简单只需crtl+f

    arpqipian.rar_GetAdaptersInfo_arp_arp 欺骗_arp欺骗_数据 结构体

    朋友帮忙看了下源代码...发现 字节问题...一个ARP包 的字节是 多少来着 不记得了 但是我的2个结构体加起来 是超过了那个 字节 为什么会这样呢 ? 因为结构体 有自动 数据对齐的功能 详细情况 大家也应该清楚 然后我就...

    ionic-course:使用 thinkster 离子教程

    我们将看看情况如何。 掌握Ionic框架:学习构建和部署基于Native Speed HTML5的应用程序 该存储库包含的的减价和代码。 对于错别字,代码错误等,拉取请求非常受欢迎:) 设置基础项目 导航到/ code /文件夹,然后...

    金钱永不眠 v2016.12.20网页版

    1、 一款无需分析师帮忙的机器人智能决策软件 2、金钱永不眠,黄蓝带双剑合一实战做空的方法 3、金钱永不眠,黄蓝带三剑合一实战做多的方法 4、输入现货名字、股票代码,或股票首字母,按Enter回车键,可以分析看股...

    金钱永不眠软件官方正版注册版 v20161205.part2

    1、 一款无需分析师帮忙的机器人智能决策软件 2、金钱永不眠,黄蓝带双剑合一实战做空的方法 3、金钱永不眠,黄蓝带三剑合一实战做多的方法 4、输入现货名字、股票代码,或股票首字母,按Enter回车键,可以分析看股...

    金钱永不眠软件官方正版注册版 v20161205.part1

    1、 一款无需分析师帮忙的机器人智能决策软件 2、金钱永不眠,黄蓝带双剑合一实战做空的方法 3、金钱永不眠,黄蓝带三剑合一实战做多的方法 4、输入现货名字、股票代码,或股票首字母,按Enter回车键,可以分析看股...

    Selenium+python爬虫

    非常荣幸的受作者邀请来帮忙写这个序,诚惶诚恐,何德何能? 不记得何时开始认识的作者了。当初只是作为一个自学者混迹于各个技术群中,后来发现几乎每个群 里每天充斥着大量的垃圾信息,QQ 不停的闪动,看吧?!都...

    四川省眉山市彭山区第一中学2019_2020学年高一英语10月月考试题2020022903122

    9. 两位说话者讨论的主题,可能是要看哪部电影、如何去电影院或是周末计划。 10. 在胜利剧院正在放映的电影类型,可能是日本电影、法国电影或是科幻电影。 11. 两位说话者最终决定去哪个地方,可能是邻里剧院、电影...

    XXXX英文写作短时间提高秘籍.pptx

    可以尝试写作后自我检查,看看是否每个段落都围绕一个明确的主题,并且支持句是否有效地支持了这个主题。此外,他人的反馈也很重要,可以找朋友或导师帮忙审阅,以便找出可能的改进之处。 8. **阅读优秀作品**:...

    c代码-小游戏,有错,哪里错了呢?

    从标题和描述来看,这似乎是一个遇到了问题的小游戏项目。让我们来探讨一下可能出错的地方,并提供一些排查错误的策略。 首先,让我们分析`main.c`这个文件。它是C程序的主要入口点,包含了程序的主函数`main()`。...

    国家开放大学《秘书学》期末形考任务答案归纳.pdf

    接到打错的电话时,秘书人员应该仔细问他找的人是谁,看能否帮忙,以避免误解和不必要的麻烦。 选择题5:秘书的()是促使秘书行动的原因,是产生和维持行动的个性心理倾向,是秘书心理活动中的重要机能。选择一项...

    爱普生r230清零软件

    要是打印头下的传感器没问题,你可以看一下连那个传感器的头缆! 回复: 经过再次检查发现主板上BD3980F芯片有点烫手,不知是否跟这有关 回复 不知道了,我的情况和你所说的一样,以前修过好多,但是从来还没有见到如这...

    二年级下册《道德与法治》期末试卷.pdf

    3. 错 - 应主动帮忙,关心他人。 4. 对 - “快乐鸟”教会我们乐观面对生活。 5. 错 - 不诚实的行为不利于个人成长。 6. 对 - 换个角度看问题,转变心态。 7. 错 - 土豆适合生长在土壤里,不是水中。 8. 错 - 过度...

    手机销售技巧思路话术.pdf

    您说的没错,我们公司产品的款式确实不多,因为我们公司一直坚持贵精而不贵多的生产理念,每款设计都有它的特别之处。请问您是想要滑盖的还是翻盖的,我帮您介绍两款吧?” 化解顾客提出“款式少、不好看”异议的...

    新版部编版四年级道德与法治上册期中考试题及答案【完整版】.pdf

    懂事的孩子能理解父母的辛劳并尽力帮忙。 判断题: 1. 对。父母有权拒绝不合理的要求。 2. 对。尊重所有工作者是良好素养的体现。 3. 错。帮朋友作弊是不诚实的行为。 4. 对。信用是人格的重要组成部分。 5. 错。...

    小学二年级句子排序练习及答案.doc

    然后,提到一个叫杨洋的同学,由于粗心将兔子的耳朵画错了,引得同学们大笑。 2. 讲述的是一个孩子在广场放风筝的经历。起初,他放不起来风筝,感到困扰;然后,父亲告诉他如何正确放风筝,如迎风放、小跑、提线等...

    2013年高考英语 备考30分钟课堂专练系列 专题15 情景交际

    4. **寻求帮助**:第15题中,孩子请求父亲帮忙解数学题,B选项"I'm stuck"意为“我被难住了”,适合表达遇到问题需要帮助的情况。 5. **情感支持**:在第11题中,面对他人的担忧,D选项“Everything will work out ...

Global site tag (gtag.js) - Google Analytics