#困っていること・解決したいこと
processingで四角形を描画するプログラムを作っているのですが、「ArrayIndexOutOfBoundsExpection:10」というエラーが出ます。これは配列のサイズ以上にアクセスしたときに発生しますが、配列の数を数え直しましたがfor分の数字の範囲内で収まっています。
何度確認してもエラーの原因となる箇所が見当たりません。解決方法を教えてください。
#該当のソースコード
processing
1int[][] yellow = {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 2 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}, 3 {0,0,0,0,0,12,0,0,0,12,0,0,0,0,0}, 4 {0,0,0,0,0,12,0,0,0,12,0,0,0,0,0}, 5 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}, 6 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}, 7 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}, 8 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}, 9 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}, 10 {0,0,0,0,0,12,12,12,12,12,0,0,0,0,0}}; 11 12for(int i=0; i<15; i++){ 13 for(int j=0; j<10; j++){ 14 if(yellow[i][j] > 0){ 15 fill(255,255,0); 16 rect(i*20,j*20,width/15,height/15); 17 } 18 } 19}
配列yellowは、15行10列です。
配列は0から始まっているため、yellow[0][0]~yellow[14][9]までです。
for文ではこの範囲内に収まるように数値を設定しています(変数i,j)
配列中の数字が1以上であれば四角形を描画、それ以外は何も処理をしません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。