这是原来的问题:
编写一个程序,从文件中读取一组双打,将它们存储在数组或ArrayList中,然后以REVERSE顺序将它们打印回控制台(使用System.out.println语句)。
例如,如果输入文件input.txt文件包含
27.3 45.6 98.3 10.1
将显示控制台输出 10.1 98.3 45.6 27.3
这是我到目前为止的代码:
package reverse;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class reversed {
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
Scanner numFile = new Scanner(new File("input.txt"));
ArrayList<Double> list = new ArrayList<Double>();
while (numFile.hasNextLine()) {
String line = numFile.nextLine();
Scanner sc = new Scanner(line);
sc.useDelimiter(" ");
while(sc.hasNextDouble()) {
list.add(sc.nextDouble());
}
sc.close();
}
numFile.close();
System.out.println(list);
}
}
我如何反转我创建的ArrayList?我工作的代码,我只是不知道如何扭转它。我究竟会把那些代码放在哪里?谢谢!
答案 0 :(得分:3)
您不需要反转ArrayList
,只需按相反的顺序迭代它。像,
for (int i = list.size(); i > 0; i--) {
System.out.println(list.get(i - 1));
}
如果您必须在迭代前撤消List
,可以使用Collections.reverse(List)
之类的
Collections.reverse(list);