现在,我有一个包含这段代码的程序:
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++;
}
答案 0 :(得分:1)
我认为问题是你的收藏是空的。从documentation of Collections min返回:
NoSuchElementException - 如果集合为空
那就是:你的yUpper
Arraylist是空的:
Collections.min(YUpper)
它是空的,因为你永远不会进入while循环:
while(Classified != 6){
由于classified
为0
样式注释:将camelCase用于变量&amp;方法。这就是编写Java代码的方式。不是MyVar
,而是myVar
。阅读Java人员更容易。