运行后出现NoSuchElementException,没有元素可以迭代;可以帮我看看吗?

importjava.util.*;publicclassYSH{publicstaticvoidmain(String[]args){TreeSettr=newTree... import java.util.*;
public class YSH {

public static void main(String[] args){
TreeSet tr =new TreeSet();
Set t =new TreeSet();
for(int i =1;i<=100;i++){
tr.add(i);
}
int n=1;
int m=1;
int h=0;
while(tr.size()!=1){
int l=tr.size();
n=1;
Iterator it =tr.iterator();
while(h!=0){
for(int i=1;i<14-h;i++){
it.hasNext();
it.next();}
it.hasNext();
t.add(it.next());
n=h;
}
while(n<l){

for(int i=1;n<l&&i<14;i++){
it.hasNext();
it.next();
n++;
m++;

System.out.println(n); // 为什么最后结果是94,l不是等于100吗?
System.out.println(m);
}
it.hasNext();
t.add(it.next());
h=m;
System.out.println(n);
System.out.println(h);
m=1;
}
tr.removeAll(t);
t.clear();
}

}

}
展开
 我来答
大宝妈谈教育
高粉答主

2020-05-13 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:56万
展开全部

原因:元素值错误导致。解决方法:

1.首先,打开软件并构造一个int向量,如红色方框所示。

2.如图所示,向量的大小为0。

3.如图所示,将6个元素的向量值修改为一个值为20的向量。

4.运行结果表明,该算法成功地构造出了包含20个元素的6个向量。

5.如图所示,将现有vector对象的作用域作为构造函数参数,并将该对象复制到另一个vector对象。

6.程序运行结果如下图所示。

flymomo123
推荐于2017-12-16 · TA获得超过819个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:371万
展开全部
你这明显写的有问题啊抛NoSuchElementException就是因为Iterator没有next了
在Interator的hasNext和next不是这么用的
在你用
it.next();的时候一定要用it.hasNext()来检验是否有下一个元素也就是
if(it.hasNext()){
it.next()
}
hasNext()返回的是一个boolean type 用来判断是否有下一个元素
你把所有用到it.next()的地方+上hasNext()就不会抛NoSuchElementException异常了
至于为什么是94不是100不知道你的题目不能解答。。用debug去查赋值把
为什么没有达到预期效果肯定是你编错了。。看你的代码就知道有很多很多问题。。汗
但不知道你的题目不能给你改。。。。
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式