- 締切済み
javaプログラミング
ただいまjavaで3×3のビンゴの制作で練習しております。 ビンゴカードの数字、ビンゴのボール?の数字を1~9で制作しました。 まず、一つの配列に1~9の数字をランダムで配置し、そしてそれを3×3の二次元配列で配置し、そしてさらにもう一つの配列にビンゴボールの番号をランダムで配置し、照らし合わせていくというプログラムを作りました。 3×3の数字で、出てきたボールの数字と対応した、二次元配列にある数字を0に変更(入れ替え)というところまで、できました。そこで最後にビンゴかどうかの判定をするところで詰まってしまいまして、縦、横、ななめいづれかに0が並ぶとビンゴ達成なのですが、ビンゴの判定方法のソースコードがわかりません。for文で回してみたりif文でやってみたりしたのですがどれもダメでした。一例や、ヒントなど。回答よろしくお願いします。 色々調べてみたのですが、自分のように全部配列に入れて動かしているソースが見つからず質問させていただきました。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- amanojaku1
- ベストアンサー率54% (265/488)
int[][] A = { // 適当にゼロを並べてチェックしてみて下さい。 { 0, 0, 3, }, { 1, 2, 3, }, { 0, 0, 0, }, }; boolean fi, fd; boolean f = false; for(int i = 0; i<A.length; i++ ){ fi = true; fd = true; for(int j = 0; j<A[i].length; j++ ){ fi = fi & A[i][j]==0; fd = fd & A[j][i]==0; } f = f | fi | fd; } int lng = A.length; fi = true; fd = true; for(int i = 0; i<A.length; i++ ){ fi = fi & A[i][i]==0; fd = fd & A[lng-1-i][i]==0; } f = f | fi | fd; System.out.print(f); // デバッグ用表示。