Javaで文字列を1文字ずつ配列に格納する方法

javaで文字列を一文字ずつ配列に格納する方法記事のアイキャッチ画像

こんにちは、@Yuuです。
Javaを使ってプログラミングをしていたのですが、文字列を1文字ずつ配列に格納するのに非常に手こずったので、
備考録も兼ねて書いておきます。

スポンサーリンク

やりたかったこと

変数str"abc"があった時に、
変数strArrayに1文字ずつ"a""b""c"と格納したかったわけです。

イメージにすると以下のような感じですね。


変数を配列に

splitを使ってやってみた

まず文字列.split("")で文字列を1文字ずつ分割する事が出来た気がしたので、やってみました。

これで結果を表示してみると

あれ(´・ω・`)?
0番目の要素に変な空白が入ってる?

このままではあかん・・!

ということで、
まず添字0番目に空白が入っている配列を作り、次に0番目以外の要素を新たな配列に格納するという処理に変更してみました。

これで結果を表示してみると

きちんとstrArrayに格納出来てますね。

charAtを使ったもっと便利なやり方

splitを使った処理でどうにか出来ていたんですが、実は某「Pa◯za」というサイトで問題を解いていた時に、このsplitを使った方法だとエラーになってしまったんですね。

そこで色々調べたら「charAt()」という便利なメソッドがあったんです!
charAtメソッドは、「文字列からn番目の文字を抜き出す」という事が出来ます。

例えば

となります。

ただし、メソッド名の通りchar型で値を返すので、以下のようにするとエラーになります。

でも今回は先程と同じようにString型の配列にしたい!
という事で、以下のような処理内容にしました。

これで結果を表示してみると

無事strArrayに1文字ずつ格納出来ました!(๑•̀ㅂ•́)و✧

ちなみに今回はfor文の中で、分かりやすくstr2という変数を新たに作りましたが、strArrayにいきなり格納して構わないと思います。

for文の中のみ書き換えたバージョンを記述しておきますね。

splitメソッドを使うよりも全然楽ですね、もっと早く知りたかった・・


もっと早く知りたかったにゃー

まとめ

「Pa◯za」ではこのcharAtメソッドを知らなかったことで泣きを見ましたが、それでもプログラムの問題を解くのは楽しいなぁと思いました。
皆さんも文字列を1文字ずつ配列に格納する場合は、splitメソッドではなくcharAtメソッドを使う事をおすすめします。

ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧

javaで文字列を一文字ずつ配列に格納する方法記事のアイキャッチ画像

この記事が気に入ったらいいね!
して最新情報をチェックしよう!

スポンサーリンク