1

ユーザー eq: 1、3、400、444 などによって 1 行に入力された値を配列に取得するにはどうすればよいでしょうか。この場合、コンマ「,」を区切り記号として宣言する必要があることはわかっています。誰か助けてくれませんか

ありがとう

4

5 に答える 5

9
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");

String.split()likeではるかに単純な区切り文字を使用できます","が、より複雑な場合は"\\s*,\\s*"、コンマの周りの空白がさらに削除されます。

于 2012-05-12T16:16:18.210 に答える
2

分割を使用したい:

userInput.split(",");
于 2012-05-12T16:15:38.257 に答える
2

これを試して:

String line = "1, 3, 400, 444";

String[] numbers = line.split(",\\s+");
int[] answer = new int[numbers.length];

for (int i = 0; i < numbers.length; i++)
    answer[i] = Integer.parseInt(numbers[i]);

現在answerは、文字列内の数値を整数として持つ配列です。他の回答は文字列を分割するだけです。実際の数値が必要な場合は、変換する必要があります。

System.out.println(Arrays.toString(answer));
> [1, 3, 400, 444]
于 2012-05-12T16:19:36.557 に答える
1
String line = "1, 3, 400, 444";
for(String s : line.split(","))
   System.out.println(s);
于 2012-05-12T16:21:56.283 に答える
1
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");

正解です。"\\s*,\\s*" は正規表現です。正規表現は文字列の解析に非常に役立ちます。

于 2012-05-12T16:22:43.560 に答える