当前位置: 首页 > 知识库问答 >
问题:

用反向java打印行

侯池暝
2023-03-14

我正试图把我的脑袋围绕着我在编程集中遇到的一个问题。

我们应该编写从文件中读取并打印出来的代码。我明白,我能做到。

他要我们做的是把它反向打印出来。

文件内容如下:

abc
123
987
987
123
abc
{
    FileReader n=new FileReader("F:\\Java\\Set 8\\output1.txt");
    Scanner in=new Scanner(n);
    int l;
    while (in.hasNext())
    {
        l=in.nextInt();
        System.out.println(l);      
    }
    in.close(); 
}
}

下面是改进后的代码,我尝试将其放入数组中。

数组中的数据没有打印出来。

public static void main(String[] args) throws IOException
{
    int[]Num=new int[20];
    Scanner in=new Scanner(new FileReader("F:\\Java\\Set 8\\output1.txt"));
    int k;
    for (k=0;k<20;k++)
    {
        Num[k]=in.nextInt();
    }
    //in.close();
    for (k=20;k<20;k--)
    {
        System.out.print(+Num[k]);
    }
    //in.close();   
}

共有1个答案

童宏富
2023-03-14

最简单的方法是构造一个列表,并在从文件中读取时将每一行添加到列表中。完成后,反向打印列表项。

这是我版本的代码为您的问题。

public static void main(String[] args) throws FileNotFoundException {

    FileReader n = new FileReader("/Users/sharish/Data/abc.xml");
    Scanner in = new Scanner(n);

    ArrayList<String> lines = new ArrayList<String>();

    while (in.hasNext()) {
        lines.add(in.nextLine());
    }

    in.close();
    for (int i = lines.size() - 1; i >= 0; i--) {
        System.out.println(lines.get(i));
    }

}
 类似资料:
  • 我试图打印一个双链接列表,从tail元素开始,以first元素结束。我下面的代码就是这样做的,但出于某种原因,我也返回了被删除的项目。当我从头到尾打印列表时,它不会这样做。Idk,如果是toString导致了这个或dequed方法。我把两者都包括在内。

  • 我试图以相反的顺序打印一个链表,但实际上没有使用递归进行反转,但我的输出结果非常奇怪。看起来我的代码基本上选择了第一个节点,并在打印完链表的其余部分(按原始顺序)后将其打印出来。我所写的代码(据我所知)是正确的,并且与internet上解决此问题的代码相匹配。 这是我的代码: 以下是节点类: 这是我给出的输入,然后是输出: 这里发生的另一个奇怪的事情是,如果我改变递归的条件,假设我这样做: 然后是

  • 问题内容: 这是我的数组代码,我需要反向打印。 问题答案: 只需反转for循环的方向即可。现在,它从0到长度开始计数,从长度到0开始计数

  • 我想按相反的顺序打印stackx,怎么做?谢谢你..

  • 但是,下面的代码将数据发送到打印机,当数据到达打印机队列时,它返回时带有我认为可以通过指定风味来克服这个问题,但事实并非如此