现在,我有一个包含以下代码的程序:
if(Highest6.y == 0){
if(G.y == Collections.min(YUpper) && !notdone){ Highest6 = G; YUpper.remove(Integer.valueOf(G.y)); notdone = true;}
}
运行它时,出现以下错误:
最有趣的是,我有相同的片段,它们出现在不同的
HighestX.y
语句中(我有六个)。并且此错误仅在最后一个错误中发生。有人知道为什么这种情况持续发生吗?提前致谢。这是我列表的代码:
List<Integer> YPoint = new java.util.ArrayList(Arrays.asList(A.y, B.y, C.y, D.y, E.y, F.y, G.y, K.y, Q.y, L.y, M.y, N.y));
List<Integer> YUpper = new java.util.ArrayList(Arrays.asList());
int Classified = 0;
int Highest = 0;
while(Classified != 6){
Highest = Collections.min(YPoint);
YPoint.remove(Integer.valueOf(Highest));
YUpper.add(Integer.valueOf(Highest));
Classified++;
}
最佳答案
我认为问题在于您的收藏集为空。从documentation of Collections分钟返回:
NoSuchElementException-如果集合为空
也就是说:您的yUpper
Arraylist为空:
Collections.min(YUpper)
它是空的,因为您永远不会进入while循环:
while(Classified != 6){
由于
classified
为0样式说明:将camelCase用于变量和方法。这就是编写Java代码的方式。不是
MyVar
,而是myVar
。让Java人士更容易阅读。