Android アプリ開発「MATRIX」

Androidアプリの開発に役立つサンプル集

数値を文字列に変換して一文字ずつ配列に格納する方法

数値を文字列に変換して一文字ずつ配列に格納する方法です。

ポイントは「split」関数の区切り文字を「""」(空)にするところです。こうすると文字列を一文字ずつ分解してくれます。それと同時に、分解した文字をそのまま配列変数に格納しています。

<サンプルコード> 

public class MainActivity extends AppCompatActivity {

private int kazu_int; //数値の変数を準備
private String kazu_string; //文字変数を準備
private String array_kazu[]; //配列変数を準備
private TextView textView; //表示用テキストビューを準備

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//テキストビューにレイアウトファイルのテキストビューを連結
textView = (TextView)findViewById(R.id.textView1);

//数値「12345」を準備
kazu_int = 12345;
//数値を文字列に変換して文字変数に代入
kazu_string = String.valueOf(kazu_int);
//文字列を一文字ずつ分解して配列変数に格納
array_kazu = kazu_string.split("");

for(int i = 1; i < array_kazu.length; i++) {
//配列から一つずつ文字を取り出してテキストビューにセット
textView.setText(textView.getText() + array_kazu[i]);
}
}
}

※配列変数.lengthは、配列変数のデータ数を返してくれる関数です。 

<結果>

数値変数(int)に入っていた「12345」が配列に格納された後、ディスプレイ画面に正しく表示されました。

f:id:vw-dsg:20170530213227p:plain

重要ポイント

最後に重要なポイントをもう一つ。「split」関数で文字列を分解すると一文字ずつ配列変数に格納することができますが、なぜか先頭の配列変数には空のデータ(””)が自動的に挿入されるので注意が必要ですね。

例)文字列「ABDCE」をsplit関数で分解してそれと同時にa[]という配列変数に格納すると結果は・・・

 a[0] = ""
 a[1] = "A"
 a[2] = "B"
 a[3] = "C"
 a[4] = "D"
 a[5] = "E"

となります。

なので、split関数で配列に格納した場合は、必ず二つ目の配列(上の場合はa[1])から参照するようにしてください。

END