ユーザー eq: 1、3、400、444 などによって 1 行に入力された値を配列に取得するにはどうすればよいでしょうか。この場合、コンマ「,」を区切り記号として宣言する必要があることはわかっています。誰か助けてくれませんか
ありがとう
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");
String.split()
likeではるかに単純な区切り文字を使用できます","
が、より複雑な場合は"\\s*,\\s*"
、コンマの周りの空白がさらに削除されます。
分割を使用したい:
userInput.split(",");
これを試して:
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]
String line = "1, 3, 400, 444";
for(String s : line.split(","))
System.out.println(s);
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");
正解です。"\\s*,\\s*" は正規表現です。正規表現は文字列の解析に非常に役立ちます。