ユーザーから提出された番号があります。
私はこのようなものを作りたい: この1568301
ような配列に: 1, 5, 6, 8, 3, 0, 1
。
すべての数字の間に「、」などを追加せずにこれを行うにはどうすればよいですか? (int 型)。
ありがとう。
ユーザーから提出された番号があります。
私はこのようなものを作りたい: この1568301
ような配列に: 1, 5, 6, 8, 3, 0, 1
。
すべての数字の間に「、」などを追加せずにこれを行うにはどうすればよいですか? (int 型)。
ありがとう。
String str = "123456";
str.toCharArray();
おおよそあなたが望むことをします。正規表現を使用したより複雑なバージョンは次のとおりです。
String str = "123456";
str.split("(?<!^)");
負の後読みを使用します(split()
正規表現を取ります-上記は、左側の要素が行頭でない場合、何でも分割すると言いsplit("")
ます。先頭の空白文字列が得られます)。
2 番目のソリューションはより複雑ですが、の配列が得られますStrings
。また、空白の入力に対して 1 要素の空の配列が得られることにも注意してください。最初のソリューションでは、の配列が得られますChars
。いずれにせよ、これらをマップする必要がありますIntegers
(おそらくInteger.parseInt()
またはを使用してCharacter.digit()
?)
"1568301".toCharArray()
仕事をするべきです。
"" で Split を使用できます。次のようになります。
String test = "123456";
String test2[] = test.split("");
for (int i = 1; i < test2.length; i++) {
System.out.println(test2[i]);
}
文字列を反復処理して配列にデータを入力することはできませんか??
char[] arr = new char[str.length];
for(int i=0; i<str.length; i++){
arr[i] = str.charAt(i);
}
またはさらに良い
char[] arr = "0123456".toCharArray();
int の配列を探していると思います。
次のコードを使用することをお勧めします。
String str = "1568301";
int [] arr = new int[str.length()];
for(int i=0; i<arr.length; i++)
{
arr[i] = str.charAt(i)-'0';
}
整数の配列で値を取得するには:
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進数だと思います。
番号がString
フォーマットされている場合は、次のように簡単に実行できます。
String str = "1568301";
char[] digitChars = str.toCharArray();
このようなものを期待しています
String ss ="1568301";
char[] chars = ss.toCharArray();