老师,这个异常是什么意思啊

来源:3-7 添加和显示信息

慕先生6309556

2021-08-08 18:46:21

package Set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class CatTest {

public static void main(String[] args) {
Set t1=new HashSet();
Cat one=new Cat(12,"英国短毛","花花");
Cat two=new Cat(3,"中华田园","凡凡");
t1.add(one);
t1.add(two);
Iterator it=t1.iterator();
while(it.hasNext()) {
System.out.println( ((Cat) it.next()).getName()+"的年龄是:"+((Cat)(it.next())).getMonth()+"它是:"+((Cat)(it.next())).getSpecies());
}

}

}

相关截图:



http://img.mukewang.com/climg/610fb5de09ed2c6e08500144.jpg

写回答

1回答

好帮手慕小小

2021-08-09

同学你好,NoSuchElementException异常表示没有元素可以遍历。 

出现此异常的原因:next()方法的作用是返回遍历的下一个元素,而循环中多次调用了next()方法,导致出现NoSuchElementException 异常。

解决:将next()取出的数据先传给一个新的对象cat,再使用cat调用相应方法。

http://img.mukewang.com/climg/611088af0912e1cc09440124.jpg

Set t1 = new HashSet();
Cat one=new Cat(12,"英国短毛","花花");
Cat two=new Cat(3,"中华田园","凡凡");
t1.add(one);
t1.add(two);
Iterator it = t1.iterator();
while (it.hasNext()) {
Cat cat = (Cat)it.next();
System.out.println(cat.getName() + "的年龄是:" +cat.getMonth() + "它是:"+ cat.getSpecies());
}

祝学习愉快~

0

0 学习 · 16556 问题

查看课程