Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java集合框架-读取输入和输出行楼层(n/2),…,n-1_Java_List_Collections - Fatal编程技术网

java集合框架-读取输入和输出行楼层(n/2),…,n-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 这是我给出的代码的主要部分,但其余部分可以在这里找到: 我猜它想让你先读一整份文件,然后按要求的顺序打印这些行

因此,我正在尝试学习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);
        }
    }
}