1

「36」の文字列入力がある場合はOK

これらの2つのintを配列に入れるにはどうすればよいですか?それらの間に複数のスペースがある場合はどうなりますか?

これらの数値を{3、6}のような配列にしたいとしましょう。それは可能ですか?ありがとう

4

4 に答える 4

3

これを試して、正規表現を使用して、1つ以上のスペースのシーケンスが見つかったときに入力文字列を分割し、結果String[]int[]:に変換します。

String numberString = "  1   2 34    7 ";
String[] numbers = numberString.split("\\s+");
int[] ints = new int[numbers.length];
for (int i = 0; i < ints.length; i++)
    ints[i] = Integer.parseInt(numbers[i]);

これで、ints配列に期待値が含まれます。

System.out.println(Arrays.toString(ints));
> [1, 2, 34, 7]
于 2012-04-22T00:58:46.593 に答える
0
Scanner sc = new Scanner(mString);
while (sc.hasNextInt()){
    mArrayList.add(sc.nextInt())
}

次に、ArrayListを配列に変換し直します。

于 2012-04-22T01:00:46.797 に答える
0
$string = "3 6 4 879";
preg_match_all('/\d+(?=\s*)/', $string, $arr);

これがPHPのやり方です。

于 2012-04-21T22:42:10.550 に答える
0

たとえば、問題に対してsplitを使用できます。

スペースで分割するプログラム[C#]

static void Main()

{
string s = "1 3 2 7";
//
// Split string on spaces.
// ... This will separate all the words.
//
string[] words = s.Split(' ');
foreach (string word in words)
{
    Console.WriteLine(word);
}
}

出力

1 3 2 7

于 2012-04-21T22:43:26.317 に答える