编写一个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);
}
效率这么高吗?
答案 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!