是否可以在输出上面显示一个扫描仪的输出?

问题描述 投票:0回答:1

我这里有一个程序,只包括扫描仪和输出。我想让程序显示的是,显示一个扫描仪,下面是输出。

public static void main(String[] args) {


    Scanner scan = new Scanner(System.in);

    System.out.print("Enter anything: ");
     scan.nextLine();

    //while the scanner's text cursor shows, the bottom texts below also shows.

    System.out.println("bottom text");
    System.out.println("bottom text");      
    System.out.println("bottom text");
    System.out.println("bottom text");
    System.out.println("bottom text");
    System.out.println("bottom text");
    System.out.println("bottom text");



/*  what I wanted the output to show is this:

Enter anything: | << text cursor
bottom text
bottom text
bottom text
bottom text
bottom text
bottom text
bottom text



but the output shows like this instead:

Enter anything: |


*/      




}//end of method



}

因为它只有在扫描仪被使用后才会显示下面的输出。有没有可能或者有什么方法可以同时显示扫描仪和下面的文字?TIA:)

java output java.util.scanner
1个回答
0
投票

我试了一下...

CompletableFuture将使用一个新的线程来旋转。runAsync( () -> { return null; } ) 您也可以使用 supplyAsync(() -> { returns anObject }) 如果你想从线程中得到一个结果。然后你可以链上额外的线程,这些线程可以是consumerssuppliers,也可以是两者都有的线程。

public static void main(String[] args) {
        CompletableFuture.runAsync(() -> {
            try {
                Thread.sleep(100); // delay start by 1/10 of a second.
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println();
            System.out.println("bottom text");
            System.out.println("bottom text");
            System.out.println("bottom text");
            System.out.println("bottom text");
        });

        System.out.println("Enter anything: ");
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        System.out.println("You entered: " + input);
    }

不幸的是,当我把光标放在了 Enter anything: 而光标直接到了底部,所以输出的结果并不是你想要的...

Enter anything: 

bottom text
bottom text
bottom text
bottom text
something            <<<<<< My input here
You entered: something

Process finished with exit code 0

我不是100%确定你要做的事情是可能的,用这么简单的命令集。我想你需要更全面的东西来实现你想要的东西。

也许有人能改进这个?

© www.soinside.com 2019 - 2024. All rights reserved.