0

ユーザーから提出された番号があります。
私はこのようなものを作りたい: この1568301
ような配列に: 1, 5, 6, 8, 3, 0, 1

すべての数字の間に「、」などを追加せずにこれを行うにはどうすればよいですか? (int 型)。

ありがとう。

4

8 に答える 8

9
String str = "123456";
str.toCharArray();

おおよそあなたが望むことをします。正規表現を使用したより複雑なバージョンは次のとおりです。

String str = "123456";
str.split("(?<!^)");

負の後読みを使用します(split()正規表現を取ります-上記は、左側の要素が行頭でない場合、何でも分割すると言いsplit("")ます。先頭の空白文字列が得られます)。

2 番目のソリューションはより複雑ですが、の配列が得られますStrings。また、空白の入力に対して 1 要素の空の配列が得られることにも注意してください。最初のソリューションでは、の配列が得られますChars。いずれにせよ、これらをマップする必要がありますIntegers(おそらくInteger.parseInt()またはを使用してCharacter.digit()?)

于 2012-11-22T15:35:15.657 に答える
3

"1568301".toCharArray()仕事をするべきです。

于 2012-11-22T15:37:00.120 に答える
2

"" で Split を使用できます。次のようになります。

String test = "123456";
String test2[] = test.split("");
for (int i = 1; i < test2.length; i++) {
    System.out.println(test2[i]);
}
于 2012-11-22T15:48:22.210 に答える
1

文字列を反復処理して配列にデータを入力することはできませんか??

char[] arr = new char[str.length];
for(int i=0; i<str.length; i++){
   arr[i] = str.charAt(i);
}

またはさらに良い

char[] arr = "0123456".toCharArray();
于 2012-11-22T15:35:32.917 に答える
1

int の配列を探していると思います。

次のコードを使用することをお勧めします。

String str = "1568301";
int [] arr = new int[str.length()];
for(int i=0; i<arr.length; i++)
{
  arr[i] = str.charAt(i)-'0';
}
于 2012-11-22T15:44:13.643 に答える
1

整数の配列で値を取得するには:

String str = "1568301";
int[] vals = new int[str.length];
for (int i = 0; i < str.length(); i++) {
    vals[i] = Character.digit(str.charAt(i), /* base */ 10));
}

の 2 番目のパラメーターはCharacter.digit(char, int)基数です。あなたの数字は10進数だと思います。

于 2012-11-22T15:38:41.163 に答える
1

番号がStringフォーマットされている場合は、次のように簡単に実行できます。

    String str = "1568301";
    char[] digitChars = str.toCharArray();
于 2012-11-22T15:39:30.930 に答える
1

このようなものを期待しています

    String ss ="1568301";
    char[] chars = ss.toCharArray();
于 2012-11-22T15:39:36.077 に答える