C++ または Java を使用して、不明な数の入力を読み取る必要があります。入力には、1 行に正確に 2 つの数字があります。入力はファイルからではなくコンソールから行われるため、cin
orを使用する必要があります。System.in
Scanner
入力例:
1 2
3 4
7 8
100 200
121 10
値をベクトルに格納したい。数字のペアがいくつあるかわかりません。while
数値を読み取ってベクトルに入れるループを設計するにはどうすればよいですか?
C ++では慣用句を使用できますstd::copy
:(仮想化された入力文字列でここで機能することを確認してください)
std::vector<int> vec;
std::copy (
std::istream_iterator<int>(std::cin),
std::istream_iterator<int>(),
std::back_inserter(vec)
);
このように、整数が入力ストリームから読み取られるたびに、入力が不良であるかEOFであるかに関係なく、読み取りに失敗するまでベクトルに追加されます。
Java:
Scanner sc = new Scanner(System.in);
String inputLine;
while(sc.hasNextLine()) {
inputLine = sc.nextLine();
//parse inputLine however you want, and add to your vector
}
私が見つけた唯一の回避策:
import java.io.*;
class Solution {
public static void main(String args[] ) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i=1 ;
String line =br.readLine();
while(line.length()>0){
System.out.println(line);
line = br.readLine();
}
}
}