【发布时间】:2023-03-11 19:40:02
【问题描述】:
我想使用 Stream 读取由 newLines 分隔的多个整数。我绝对知道如何使用 Scanner 来做到这一点,但我试图弄清楚 Streams。 我的输入将是一些整数,第一个整数 n 将决定要遵循多少行。
5
1
2
3
4
5
我对 InputStreamReader 的用途感到困惑。 我可以用它来读取用户的输入吗?它确实具有读取方法和它的重载版本。我想我可以使用重载方法将值保存到一个数组中,然后对它们求和,找到平均值等等。但是这个
try(InputStreamReader isr = new InputStreamReader(System.in)){
int n = isr.read();
int count =0;
isr.read(char[] cbuf, 0, n);
}
不工作。您可能会想到,我对流完全陌生。通常我会阅读我正在阅读的书(Ivor Horton “Beginning Java”)、Java 文档和其他人在这里问过的东西,但这次不是。我一直找不到合适的教程或任何东西,可能是因为我不知道我的确切问题是什么。 我会很感激任何解释,但也有有用的链接或文献。 路易斯
【问题讨论】:
-
改用
Scanner怎么样? -
每次调用
isr.read()只给您一个字母,其中数字是所输入字符的ASCII 或Unicode。简而言之,这是一个非常低级的接口,除非出于兴趣,否则可能不值得使用。