read()方法未按适当大小循环播放? [关闭]

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

[请帮助我理解这一点。我想使用BufferedReader中的read()方法输入5个数字。但是,即使我叫了5次,为什么我也不能输入5个数字?

BufferedReader inp = new BufferedReader (new InputStreamReader(System.in));

    inp.read();
    inp.read();
    inp.read();
    inp.read();
    inp.read();

运行时:(输入这些数字)

1

2

3

退出代码为0的处理完成

预期的输入结果:(只要我可以输入5个数字,任何一个数字都可以)

1

2

3

4

5

退出代码为0的处理完成

java
1个回答
1
投票

这里的诀窍是read读取字符,而不是行。因此,您从读取中得到1个int,其中包括行结尾。尝试切换到BufferedReader.readline()

此外,您还使用术语“循环”,这意味着与调用方法5次不同。

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