【发布时间】:2014-10-22 18:44:05
【问题描述】:
我没有通过扫描仪或其他方法等任何方式迭代LinkedList,我使用Collections.max()从LinkedList获取最大数量。
我在 Stack Overflow 上读到这个异常是由于迭代器、扫描器或标记器而引发的,但我没有使用它们。
import java.io.*;
import java.util.*;
class TLG {
public static void main(String[] args)throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
LinkedList<Integer> first = new LinkedList<Integer>();
LinkedList<Integer> second = new LinkedList<Integer>();
int cases = Integer.parseInt(br.readLine());
for(int i=1;i<=cases;i++) {
String score = br.readLine();
int number1 = Integer.parseInt(score.split(" ")[0]);
int number2 = Integer.parseInt(score.split(" ")[1]);
int diff = number1 - number2;
if(diff > 0){
first.add(diff);
}
else {
second.add(java.lang.Math.abs(diff));
}
}
Integer max1 = Collections.max(first); // Getting Exception here
Integer max2 = Collections.max(second); // Getting Exception here
if(max1 > max2) {
System.out.println(1+" "+max1);
}
else {
System.out.println(2+" "+max2);
}
}
}
【问题讨论】:
-
first和second中是否有任何元素? -
cases的值是多少? -
您能否提供一些导致此异常的输入数据示例,您认为不应该这样做?
-
另外,你不能在两行都有异常,要么在第一行要么在第二行。
标签: java collections nosuchelementexception