我有一个txt文件,并且有单独的值,如1 2 3 10 15 2 5 ...,我将它们分配给arraylist,如下所示。在此期间,我需要省略第一个值,并且需要检测扫描的值是否是第一个值。我已经尝试过诸如indexOf之类的东西,但是无法修复。如何检测第一个元素并使用if()?
private static ArrayList<Integer> convert() throws FileNotFoundException {
Scanner s = new Scanner(new File("C:\\list.txt"));
ArrayList<Integer> list = new ArrayList<Integer>();
while (s.hasNext()) {
int next = Integer.parseInt(s.next());
if (// s.next() is the first element of list.txt) {
}
list.add(next);
}
s.close();
return list;
}
只需使用计数器来确定是否是第一个元素。
private static ArrayList<Integer> convert() throws FileNotFoundException {
Scanner s = new Scanner(new File("C:\\list.txt"));
ArrayList<Integer> list = new ArrayList<Integer>();
int i = 0;
while (s.hasNext()) {
int next = Integer.parseInt(s.next());
if (i == 0) {
first element
} else {
}
i++;
list.add(next);
}
s.close();
return list;
}
[next
已经是您的int(您已经叫s.next()
)。
我不确定您要做什么,但是应该是这样:
while (s.hasNext()) {
int next = Integer.parseInt(s.next());
if (next == list.get(0)) {
// do whatever
}
list.add(next);
}
检查列表中是否包含元素以确保您在list.get(0)
上得到的响应也很明智。例如,您可以执行!list.isEmpty()
,但我会留给您尝试并学习=)