System.in.read()实际上如何工作?

时间:2015-02-24 19:56:28

标签: java

我是编程世界的新手,现在学习java作为我的第一门编程语言。我想在我的程序中输入字符。但很快我意识到,一旦我使用System.in.read()并为其分配任何char变量,它就可以工作。但在它之后,当我使用System.in.read()并将此语句分配给另一个char变量时,我无法输入任何字符。为什么会发生这种情况以及它的治愈方法呢?

public class ReadInp {
    public static void main(String Array[]) 
    throws java.io.IOException {
    char ch1, ch2;
    System.out.println("Write first alphabet of English.");
    ch1 = (char) System.in.read();
    if(ch1=='A') {
        System.out.println("You can write one more character.");
        ch2 = (char) System.in.read();
        System.out.println("ch1 = "+ch1+"\tch2 = "+ch2);
    }
  }
}

输出: -

写下第一个英文字母。

A

你可以再写一个角色。 (正如你在我的输入代码中看到的那样,在执行&#34之后;你可以再写一个字符",它必须让我有机会再次输入以便将它分配给ch2。但是在输出中它没有机会输入任何类型的角色,最终ch2仍未分配。)

ch1 = A ch2 =

0 个答案:

没有答案