【问题标题】:How to delete a character or words in a Java Console application如何删除 Java 控制台应用程序中的字符或单词
【发布时间】:2018-02-27 16:52:34
【问题描述】:

我开发了一个 java 控制台应用程序,用户可以在其中键入命令,但是当我使用退格键或删除键时,此控制台不允许删除字符。如何允许退格键和删除键删除控制台上的字符?

String commandLine = console.readLine(PROMPT, new Date());
Scanner scanner = new Scanner(commandLine);

当我按退格键更正命令中键入的字母而不是删除它时,会打印如下特殊字符

Tool > affffg^H^H^H^H 

【问题讨论】:

    标签: java console-application


    【解决方案1】:

    设置您的扫描仪FIRST

    Scanner scanner = new Scanner(System.in);

    使用System.in 作为扫描器的目标。

    通过Scanner.nextLine()等命令获取输入

        scanner.nextLine(); //waits until the user hits enter, and returns their line of text
        scanner.next(); // waits until the user hits enter, only returns the first token entered 
    

    Scanner 中有很多有用的方法来获取输入。

    查看documentation

    【讨论】:

    • 我试过像下面这样但是一旦你输入 Scanner scanner = new Scanner(System.in); 它就不能删除字符System.out.print("请输入您的国籍:");字符串国籍=scanner.nextLine(); System.out.println("你的国籍是:" + 国籍);
    • 您在哪个控制台中测试您的代码?蚀?命令提示符?我无法重现您的问题,退格、删除、突出显示然后覆盖文本对我来说都很好。
    • 我的问题不是获取输入,我的问题是一旦有人输入一个输入并发现错误并尝试按退格键或删除键,在控制台上字符将不会被删除。
    • 正如我所提到的,我无法重现您的问题。您可能要考虑问题在于您的控制台,而不是 Java。
    • 你的意思是说,一旦用户输入一个输入,按回车,然后你就不能编辑输入的东西了??事实上,即使我无法重现问题,扫描仪工作正常,我可以删除、退格、向左/向右移动字符串..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2013-02-11
    • 2020-05-12
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多