アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
JSPで画面を表示させるプログラムを作成しているのですが、
プルダウンで選択されたものによって配列の内容(要素数含め)が変わるような動きをさせたいのですが、”初期化されていない可能性があります”というコンパイルエラーが出てしまいます。
ソースは以下のようになっています。
String[] kotei;
if (request.getParameter("HINSHU").equals("XXX")){
kotei[0]="00";
kotei[1]="01";
kotei[2]="02";
kotei[3]="03";
kotei[4]="04";
kotei[5]="05";
kotei[6]="06";
kotei[7]="07";
kotei[8]="08";
kotei[9]="09";
kotei[10]="10";
kotei[11]="11";
kotei[12]="12";
kotei[13]="13";
kotei[14]="14";
kotei[15]="15";
kotei[16]="16";
kotei[17]="17";
kotei[18]="18";
kotei[19]="19";
kotei[20]="20";
} else if (request.getParameter("HINSHU").equals("***")){
kotei[0]="00";
kotei[1]="01";
kotei[2]="02";
kotei[3]="03";
kotei[4]="04";
kotei[5]="05";
kotei[6]="06";
kotei[7]="07";
kotei[8]="08";
kotei[9]="09";
kotei[10]="10";
kotei[11]="11";
kotei[12]="12";
kotei[13]="13";
kotei[14]="14";
kotei[15]="15";
kotei[16]="16";
}
初期化する為にはどのような処理が必要なのでしょうか?
配列に関するものを本やサイトで調べ回ったのですが、いまいちわからない状況です。
本当に初歩的なことで申し訳ありませんがご教授お願い致します。

A 回答 (4件)

String[] kotei;


kotei = new String[21];

とりあえず、21個にしてみました。
上だけだとkoteiを宣言はしているけど、
実際に参照先を格納する箱が用意されてません。
    • good
    • 0

kotei = new String[20];


↑初期化。
宣言と同時に
String[] kotei = new String[20];
でもOK。

ついでに配列の中身も初期化しておくことが望ましいかな。(場合にもよるかも。)

この回答への補足

早速の回答ありがとうございます。
要素数が条件によって変わってしまう場合は条件判定の度に初期化させるのでしょうか?

補足日時:2005/08/11 09:53
    • good
    • 0

あっ…#1さんのを見て配列の長さを間違えてることに気づいた…。

orz

訂正
×20
○21
ですね。
    • good
    • 0

java.utilパッケージのVectorとかArrayListを使うといいと思います。



詳細はAPI(javadoc)を見てもらえばわかると思います。

ただどちらも引数なしのコンストラクタを使うと初期容量が10のようなので、初期容量指定のコンストラクタで生成する方が良いでしょう。

初期容量は最低でも追加する要素の最大値もあれば大丈夫でしょう。
    • good
    • 0
この回答へのお礼

丁寧に教えていただき、有難うございました。
おかげで今回のエラーは出なくなりました。

お礼日時:2005/08/11 18:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!