以相反的顺序写输入线

时间:2017-01-11 01:06:38

标签: java

  

编写一个Java程序,它将所有行输入到标准输入,并以相反的顺序将它们写入标准输出。也就是说,每一行都以正确的顺序输出,但行的顺序是相反的。

我写了这个:

public static void main(String[] args) {
    Scanner sc=new Scanner (System.in);

    System.out.println("Enter the line");
    String a=sc.nextLine();
    System.out.println("Enter the line");
    String b=sc.nextLine();

    System.out.println(b+" "+a);
}

效率这么高吗?

1 个答案:

答案 0 :(得分:1)

根据其中一条评论的建议,Deque将成为实现这一目标的良好数据结构:

import java.util.Deque;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;


class Main {
  public static void main(String[] args) {
    Deque deque = new LinkedList<>();

    Scanner sc = new Scanner(System.in);
    System.out.println("Please enter your lines (Enter exit to continue):");

    while(sc.hasNext()) {
      String line = sc.next();
      if(line.toLowerCase().equals("exit")) {
        break;
      }
      deque.add(line);
    }

    System.out.println("\n=====Reversed Lines=====\n");        

    Iterator reverse = deque.descendingIterator();
    while (reverse.hasNext()) {
      System.out.println(reverse.next());
    }
  }
}

试试here!

相关问题