通过扫描仪读取时,首先读取最后一个输入

san*_*nal 2 java java.util.scanner

Scanner in=new Scanner(System.in);
while(true){
    int X = in.nextInt();
    System.out.println(X);
}
Run Code Online (Sandbox Code Playgroud)

上面的代码只能按我输入的顺序读取数字.例如:1 2 3 4这些数字将被读作1 2 3 4

我希望它们以相反的顺序读取.我找不到任何方法.

Tag*_*eev 6

您可以"无任何其他变量"递归地执行此操作:

public static void revNumbers(Scanner in) {
    if(!in.hasNextInt())
        return;
    int X = in.nextInt();
    revNumbers(in);
    System.out.println(X);
}

public static void main(String[] args) {
    revNumbers(new Scanner(System.in));
}
Run Code Online (Sandbox Code Playgroud)

  • 以相反的顺序"阅读"和以相反的顺序"打印"是我猜的两个不同的事情.@sanal,你想以相反的顺序打印它们吗? (2认同)