码迷,mamicode.com
首页 > 其他好文 > 详细

Iterator类中的方法next()如何用

时间:2017-05-29 20:33:03      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:技术   循环   ==   技术分享   同义词   简单介绍   except   java   util   

这是一道比较简单的词典管理的题目,实现查词,添加词语,添加同义词,查同义词的功能,当然啦,用到Map(映射)!

1.这是JavaAPI文档中对方法next()的简单介绍,我遇到的问题就是抛出了NoSuchElementException异常;

技术分享

2.解决方法:

在45行,46行程序执行的时候报错了,我的29行

if((map.get(word).equals(map.get(string)))&&(word!=string))原来的写法是
if((map.get(word).equals(map.get(it.next())))&&(word!=it.next())),后来在28行添上了String string = (String)it.next();程序可以运行了,没有报错;

package priv.xiaomin.dictionary;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class DictionaryManeger {
Map<String,String> map = new HashMap<String, String>();
public void findWord(String word){
Set<String>key = map.keySet();
for(Iterator it = key.iterator();it.hasNext();){
if (word.equals(it.next()) ){
System.out.println("该词的意思是:" + map.get(word));
}
}
}
public void addWordExplain(String word,String explain){
map.put(word, explain);
}
public void addSameExplainWord(String word1,String word2,String explain){
map.put(word1, explain);
map.put(word2, explain);
}
public void findSameWord(String word){
Set<String>key = map.keySet();
int count = 0;
for(Iterator it = key.iterator();it.hasNext();){
String string = (String)it.next();
if((map.get(word).equals(map.get(string)))&&(word!=string)){
System.out.println(word+"的同义词是"+string);
count++;
}
}
if(count == 0){
System.out.println("该词"+word+"没有同义词");
}
}
public static void main(String[] args) {
DictionaryManeger manager = new DictionaryManeger();
manager.addWordExplain("mother", "parent");
manager.addWordExplain("father", "family");
manager.addWordExplain("brother", "family");
manager.findWord("mother");
manager.findWord("father");
manager.findSameWord("mother");
manager.findSameWord("father");
manager.addSameExplainWord("cat", "dog", "animals");
manager.findWord("cat");
}


}


3.参考了一下别人的说法,循环中不能用两次(含)的next()。

欢迎大家对我的博文进行批评指正哦~希望能和大家共同学习共同进步!

Iterator类中的方法next()如何用

标签:技术   循环   ==   技术分享   同义词   简单介绍   except   java   util   

原文地址:http://www.cnblogs.com/alisa-lee/p/6918894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!