boolean
それらを2D配列に入れるとはどういう意味かわかりません。テキストの解析に問題がある場合は、使用できるコードのスニペットを次に示します。
最初の解決策では、数値は常にペアであり、単一ので区切られていると想定し、-
スペースを使用して数値のペアを区切ります。
標準入力から読み取る場合は、これを使用します。
Scanner scanner = new Scanner(System.in);
String
にすべての数値が含まれていて、それを処理する場合は、これを使用します(変数の名前をinputString
):
Scanner scanner = new Scanner(inputString);
次に、入力から数値を読み取ることができます。
while (scanner.hasNext()) {
String pair = scanner.next();
// Split by the hyphen
String tokens[] = pair.split("-");
// Normally, one should check the array before accessing it
// I currently assume the input is valid
int first = Integer.parseInt(tokens[0]);
int second = Integer.parseInt(tokens[1]);
// Do whatever you want with the 2 numbers extracted
}
または、useDelimiter-
を使用して区切り文字として追加し、個別nextInt
に処理することなく番号を読み取るために使用することもできます。-
scanner.useDelimiter("[\\p{javaWhitespace}-]+");
コードは単純に次のようになります。
scanner.useDelimiter("[\\p{javaWhitespace}-]+");
while (scanner.hasNext()) {
int first = scanner.nextInt();
int second = scanner.nextInt();
// Do whatever you want with the 2 numbers extracted
}
コードはよりクリーンですが、と-
の間に表示されるか、いくつ表示されるか、または数字のペアの間の唯一の文字が表示されないかどうかは、現在不明です。入力形式が正しいと仮定すればOKです。ただし、その仮定が与えられていない場合、入力の検証を行うことはできません。first
second
-