当用户在java中的控制台上输入单个字符时,如何只处理单个字符

时间:2012-06-28 05:51:28

标签: java

有没有办法只使用简单的程序处理java中的单个字符?

我应该要求用户输入一个字符,当用户输入一个字符时,我的java程序应该在用户输入下一个字符之前处理它,并且应该立即响应用户输入的字符。我试过这个< / p>

public class InputChar {
    public static void main(String args[]) {
        System.out.printf("Enter Char ==> ");
        try {
            char temp = (char) System.in.read();

            System.out.printf("You Entered: " + temp + "\n");
        } catch (Exception exe) {
            exe.printStackTrace();
        }
    }
}

但是当用户输入一个字符时仍然在上面的程序中它不会立即打印字符。在上述程序中,当用户按下“Enter”键时,只有程序处理他输入的任何内容。无论如何都没有按下“输入”键可处理用户输入的唯一第一个字符输入。

2 个答案:

答案 0 :(得分:1)

首先,System.in.read()获取用户的输入。这允许用户输入任意数量的字符。

然后你将它转换为char。所以它只需要第一个角色。

按Enter键时,只会输入输入。

这样当你按下回车键时,就会处理下一行。

虽然如果您仍然想要“输入关键过程”,但是当您从用户那里获得输入时应用一些条件

答案 1 :(得分:0)

如果变量声明为 char ,则它只包含一个char。即使用户输入,剩余的字符也将被丢弃。

我想这在控制台中是不可能的。Please refer this link