• ベストアンサー

3文字取得して配列に格納するにはどうしたらいいのでしょうか?

今日1日、考えましたがどのようにすればいいのか解らず時間だけが過ぎてしまい焦っています。 「abcdef1234」という文字列があります。 上記の文字列を下記のように配列にする事は可能でしょうか? ・abc ・bcd ・cde ・def ・ef1 ・f12 ・123 ・234 すみませんがご教授いただけませんでしょうか? 些細な事でも構いませんので宜しくお願いします。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

StringBuffer sb = new StringBuffer("abcdef1234"); String [] s = new String[sb.length()-2]; for (int i=0;i<sb.length()-2;++i){ s[i]= new String(sb.substring(i, i+3)); System.out.println(s[i]); } 実行結果 debug: abc bcd cde def ef1 f12 123 234 こんな感じ????

edo_1972
質問者

お礼

回答ありがとうございます。 私が望んでいる動きができました。 本当に助かりました。 ありがとうございます。

その他の回答 (1)

  • komi1341
  • ベストアンサー率65% (25/38)
回答No.1

"abc"が配列の1番目の要素、"bcd"が2番目の要素、という配列を作りたいということでよろしいでしょうか。 であれば、まずString型の配列を、入力文字列の長さ-2のサイズで作ります。 で、String.substring()を使って文字列を切り出し、頭から順番に配列に入れていけばいいでしょう。 substring()の使い方についてはAPIリファレンスをご覧ください。 http://java.sun.com./javase/ja/6/docs/ja/api/java/lang/String.html#substring(int,%20int) APIリファレンスの書き方だと意味が分からない、というようなら、「java substring」みたいなキーワードで検索するといいですよ。

edo_1972
質問者

お礼

回答ありがとうございます。 アドバイス、ありがとうございます。 これからはリファレンスに目を通すようにします。

関連するQ&A

  • 配列

    キーボードから文字列を二つ入力し、文字列が一致しているか否かを表示するプログラムで、 基本的な部分は出来たんですが文字列中の「?」はすべての文字と一致する文字とする、という条件がどうしてもわからずこまっています。 例:「abc?ef」 「abcDef」 「abc?ef」 「??ckef」(すべて一致する) よろしくお願いします。

  • 文字列を配列にしたい

    お世話になります。 PHP4.3.9を利用しているのですが、以下のような文字列を分割して、求める形の配列に入れたいのですが、何か良い方法はありますでしょうか? ■文字列 abc=123&def=456&ghi=789 ■このような形にしたいと思っています↓ $hoge = array(   "abc"=>"123",   "def"=>"456",   "ghi"=>"789" ) ヒントだけでも結構ですので、ご教示いただけると幸いです。宜しくお願いします。

    • ベストアンサー
    • PHP
  • ファイル内の文字を配列に格納

    ファイル内の文字列をも表示させた上で、文字列を配列に1つずつ格納したいのですが、とっても簡単な方法で教えてください。 ファイル名は「abc」で配列名は「moji」でお願いします。

  • Excelで文字列の抽出をしたいので教えてください

    Excelで下記の文字列を抽出したいのですがどなたか教えてください 例) - abcdef xxxx ---- この場合任意の文字桁も不明で最初のブランクの後のabcdefを抽出 -- abc -- def zzz この場合任意の文字,桁も不明で2回目の'--'後のdefを抽出したいのですが宜しくお願いします

  • 配列

    String型の配列の中の文字列の文字数を数える方法で困っています。 問題は、int型の変数lenで与えられた数字よりも大きい文字数の文字列はいくつあるか調べます。 例) stringsLongerThan({"a","ab","abc"}, 0) 3つ全ての文字列の文字数は0より大きいので3を返す stringsLongerThan({"a","ab","abc"}, 2) "abc"の文字数が2より大きいので1を返す stringsLongerThan({"a","ab","abc","abcd","abcde","abcdef","abcdefg"}, 3) "abcd","abcde","abcdef","abcdefg"の4つが文字数3より大きいので4を返す 途中まで組んだのですが、配列array[]の中の文字列の文字数を数えるにはどうしたらよいのでしょうか? public int stringsLongerthan(String[] array, int len){       int result=0;      for(int i=0;i<array.length;i++){        //ここで配列array[i]の文字列の文字数を数える       int count=文字数;       if(cont>len)        result++;     }      return result; } 宜しくお願いします。

    • ベストアンサー
    • Java
  • 16進数を2文字ずつ配列に格納したい

    16進数を配列に格納するのに2文字ずつ格納したいのですがどうしたらいいですか。 例えば num=ef23157をa[0]=57,a[1]=31,a[2]=f2,a[3]=0e, のように1バイトずつ格納したいのですが、方法がわかりません。 お願いします。

  • 別次元配列への文字コピー

    別次元配列への文字コピー(not文字列)をする際特別な制約ってありますか? 2次元配列から1次元配列への文字コピー 1次元配列から2次元配列への文字コピー などなど for(i=0,n=0;n<TEISU1;n++){ for(m=0;m<TEISU2;m++,i++){ strcpy(&ABC[m][n],&DEF[i]); printf(" i%d n%d m%d %c %x\n",i,n,m,ABC[m][n],DEF[m][n]); // ★★★★★↑この時点では正しく出ているが } } /**/printf("%s\n",ABC); // ★★★★★↑この時点では出力内容がおかしくなっている 原因がさっぱりわかりません。 原因はどういった事が考えられますか?

  • 文字型配列に格納した空白の切捨て

    Cでやり方がわからないことがあるのでご質問があります。 文字型配列、例えばchar buf[128]にfgetsなどで、文字列を格納したとします(例えば"abc defghi ")。 この場合、最後に続く空白がその後の作業で邪魔なので新しい文字型配列もしくはポインタに、2つ以上空白が続いた場合は、最後の文字までで、以下の空白は切り捨てた状態("abc defghi")で格納したいのですが方法が思い浮かばず困っています。 よい方法があればお教えください。 よろしくお願いします。

  • 区切り文字を配列に格納する方法を教えて下さい。

    区切り文字を配列に格納する方法を教えて下さい。 $array[] = "abc,1981,1,12"; $array[] = "def,1982,2,18"; $array[] = "ghi,1991,4,12"; list($name[$i],$yy[$i],$mm[$i],$dd[$i]) = split("\,",$array[$i]); でループさせればそれぞれの変数に代入できますが、例えば $name["abc"]["yy"] = "1981"; $name["abc"]["mm"] = "1"; $name["abc"]["dd"] = "12"; のように分解するにはどうすれば良いでしょうか?

    • 締切済み
    • PHP
  • 入力された文字列を一文字ずつ配列に格納する方法

    例えばABCって文字列が入力されたら配列に data[0]="ABC" と格納するのではなく data[0]="A" data[1]="B" data[2]="C" と格納するにはどう書けばいいのでしょうか?

専門家に質問してみよう