java集合框架-读取输入和输出行楼层(n/2),…,n-1
因此,我正在尝试学习java,我得到了一些代码和一系列问题,要通过编辑给定的代码来完成。我被一个问题难住了,因为我根本不明白它要我做什么。我想知道我是否能得到一些帮助或朝着正确的方向前进。任何能帮助我的资源链接都将不胜感激 一次读取一行输入,直到您读取了所有n行,并想象这些行的编号为0,…,n-1。下一个输出行是floor(n/2),…,n-1,后面是行0,…,floor(n/2)-1 这是我给出的代码的主要部分,但其余部分可以在这里找到:java集合框架-读取输入和输出行楼层(n/2),…,n-1,java,list,collections,Java,List,Collections,因此,我正在尝试学习java,我得到了一些代码和一系列问题,要通过编辑给定的代码来完成。我被一个问题难住了,因为我根本不明白它要我做什么。我想知道我是否能得到一些帮助或朝着正确的方向前进。任何能帮助我的资源链接都将不胜感激 一次读取一行输入,直到您读取了所有n行,并想象这些行的编号为0,…,n-1。下一个输出行是floor(n/2),…,n-1,后面是行0,…,floor(n/2)-1 这是我给出的代码的主要部分,但其余部分可以在这里找到: 我猜它想让你先读一整份文件,然后按要求的顺序打印这些行
我猜它想让你先读一整份文件,然后按要求的顺序打印这些行 让我们举一个例子,假设您有一个temp.txt文件,其中有5行,如下所示: A B C D E 现在,您需要阅读temp.txt的所有行。可以创建线的ArrayList对象。由于列表从0开始,它将自动满足以下条件:行应该是从0开始的数字。然后它希望您按特定顺序打印行 对于我们的示例,n=5 首先,他们希望输出行号为楼层(n/2),…,n-1 因此,您的输出如下所示 C D E 原因是楼层(n/2)=楼层(5/2)=2。因此,从第2行开始到n-1,即4(5-1)。同样,下一步它希望您打印0,...floor(n/2)-1。所以第0到1行。 所以 A B 最终的输出结果是 C D E A B
如果您想了解有关收集和文件IO操作的更多信息,可以参考。是否有什么特别让您感到困惑的地方?提示:这里的基本任务是1)阅读并记住一大堆行;2) 把一束分成第一和第二部分;3) 打印下半部分;4) 打印上半部分。
public static void main(String[] args) {
try {
BufferedReader r;
PrintWriter w;
if (args.length == 0) {
r = new BufferedReader(new InputStreamReader(System.in));
w = new PrintWriter(System.out);
} else if (args.length == 1) {
r = new BufferedReader(new FileReader(args[0]));
w = new PrintWriter(System.out);
} else {
r = new BufferedReader(new FileReader(args[0]));
w = new PrintWriter(new FileWriter(args[1]));
}
long start = System.nanoTime();
doIt(r, w);
w.flush();
long stop = System.nanoTime();
System.out.println("Execution time: " + 10e-9 * (stop-start));
} catch (IOException e) {
System.err.println(e);
System.exit(-1);
}
}
}