读取未知数量的输入

tia*_*anz 2 c++ java input

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

输入示例:

1 2

3 4

7 8

100 200

121 10
Run Code Online (Sandbox Code Playgroud)

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

chr*_*ris 6

你可以std::copy在C++中使用一个惯用语:( 看看它在虚拟化输入字符串中工作)

std::vector<int> vec;
std::copy (
    std::istream_iterator<int>(std::cin), 
    std::istream_iterator<int>(), 
    std::back_inserter(vec)
);
Run Code Online (Sandbox Code Playgroud)

这样,每次从输入流读取整数时它都会附加到向量上,直到它读取失败,无论是输入错误还是EOF.