Как заменить последний вывод в консоли другим выводом? - PullRequest
2 голосов
/ 30 апреля 2020

Я работаю над Windows, и я хочу иметь возможность выводить несколько строк поверх последнего вывода (который также может содержать несколько строк). Как мне это сделать?

Например: появится простое меню, например

  1. алфавит
  2. числа

Пользовательский ввод 1

Вывод:

a
b
c
d
e

Затем пользователь снова вводит 2

Я бы хотел, чтобы консоль стерла последние блоки вывода и заменила их новым выводом.

так

a
b
c
d
e

будет заменено на

1
2
3
4

в консоли (они не имеют одинаковое количество строк.)

1 Ответ

1 голос
/ 30 апреля 2020

Попробуйте это:

import java.io.IOException;
import java.util.Scanner;
public class Test3{
    public static void main(String args[]) throws IOException,InterruptedException{
        Scanner sc = new Scanner(System.in);
        int input = -2;
        int prevInput = -2;
        while(input != -1){
            System.out.println("\nMenu");
            System.out.println("---------");
            System.out.println("1: Alphabet");
            System.out.println("2: Numbers");
            System.out.print("Enter input : ");
            input = sc.nextInt();
            if(input!=prevInput)
                new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
            if(input == 1)
                System.out.println("a\nb\nc\nd\ne\n");
            else 
                System.out.println("1\n2\n3\n4");
            prevInput = input;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...