java - 读取未知数量的输入

标签 java c++ input

我需要使用 C++ 或 Java 读取未知数量的输入。输入每行恰好有两个数字。我需要使用 cinSystem.in Scanner,因为输入来自控制台,而不是文件。

示例输入:

1 2

3 4

7 8

100 200

121 10

我想将值存储在 vector 中。我不知道我有多少对数字。如何设计一个 while 循环来读取数字,以便将它们放入 vector 中?

最佳答案

您可以在 C++ 中使用惯用的 std::copy:( see it work here with virtualized input strings )

std::vector<int> vec;
std::copy (
    std::istream_iterator<int>(std::cin), 
    std::istream_iterator<int>(), 
    std::back_inserter(vec)
);

这样,每次从输入流中读取整数时,它都会追加到 vector 上,直到读取失败,无论是来自错误输入还是 EOF。

关于java - 读取未知数量的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12720133/

相关文章:

c++ - boost::asio strand 包裹的线程不能立即工作

c++ - 标准是否防止在可变参数模板中缩小具有足够小的文字值的文字转换

javascript - 在 Angular 2 中禁用按钮

java - 当 `PutObjectRequest`的userMetaData中有中文字符时AWS S3错误

Java 扫描器 : Getting "java.util.NoSuchElementException" error, 不知道为什么

C++ 类相互引用(=> 错误 + 字段 '...' 的类型不完整)

html - HTML 中的输入样式

python - Unix Python - 超时后无需按 Enter 键即可获取终端输入

java - JVM 崩溃 hs_err_pidXXXX.log 文件已创建。但是没有生成 hprof 文件

java - FeedReaderContract 演示中的空构造函数