質問: 二次元配列上の「0」の部分をランダムに選ぶプログラムを書いたのですが 実行中に止まってしまいます。 なにか、問題があるのでしょうか・・・? もし、分かる方いましたら、お願い致します・・・; ちなみに、hai[2][2]〜hai[5][5]の範囲での検索で、 hai[2][2]・hai[5][5]は除外しなくてはいけません・・・。 二次元配列は、後に大きくすることを考慮して、とのことです。 よろしくお願いします。 public class RandomTest{ public static void main(String[] args){ int x=1,y=1; int hai[][]= {{0,0,0,0,0,0,0}, {0,1,1,1,1,1,0}, {0,1,0,1,0,1,0}, {0,1,0,1,0,1,0}, {0,1,0,1,0,1,0}, {0,1,0,0,0,1,0}, {0,1,1,1,1,1,0}, {0,0,0,0,0,0,0}}; int lng =hai.length-1; while(hai[y][x]!=0){ //添え字2〜 の範囲 while(y < 2){ y=(int)(Math.random() * lng); } while(x < 2){ x=(int)(Math.random() * lng); } if( y==2 && x==2 ){ y =x =1;} //[2][2]除外 if( y==lng-1 && x==lng-1 ){ y =x =1; } //[5][5]除外 } } }
回答: mioさん ありがとうございます。 デバック文とは、System.out.printlnのことでしょうか。 コマンドプロンプトが現れた時点で軽いフリーズ?になってしまうので どこが原因なのか、まったくわからないのです・・・