ここから本文です

javaの2次元配列を教えてください!

nya********さん

2015/6/2613:26:18

javaの2次元配列を教えてください!

int field[][];
field = new int[][]{{1,1,1,1},
{1,1,0,1},
{1,1,1,1}
{1,1,1,1}};

boolean flg = true;
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
if(field[i][j] == 0){
flg = false;
}
}
if(flg){
del(i);
}else{
flg = true;

}
}

上のコードについてですが、

・まずfeild[0][0]、field[0][1]、field[0][2]、…、field[3][2]、field[3][3]のうちfeild[1][2]だけが0なのでfield[1][2]がflg=trueからflg=falseに置き換わるということなのでしょうか?
またはすべての要素が0でないとfield[i][j]==0は成り立たないのでしょうか?

・if(flg)は何かの省略形だと思うのですがif(flg==true)なのでしょうか?

・上記のようにif(flg==true)だとしたら
if(flg){
del(i);
}else{
flg = true;

の部分はfield[1][2]だけがfalseなのでi=0,2,3がif(flg)の条件に当てはまり、i=1は当てはまらないということでしょうか?

・最後のflg = trueは何を意味しているのでしょうか?
if(flg)がif(flg==true)ならelseはflg==falseになるので「flg==falseならばtrueをflgに代入する」ということでしょうか?

質問事項が多くて申し訳ないですがよろしくお願いいたします!

閲覧数:
124
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

境良夫さん

2015/6/2616:14:54

・del()が定義されていないので、回答できない部分が有ります。
・プログラムの全体構造を見ましょう。
for文が入れ子になっています。
内側のfor文にif文を一つ。
外側のfor文にif文を一つ含んでいます。
・「flg=trueからflg=falseに置き換わるということなのでしょうか?」
表現が少し変ですが、boolean変数としての値が変化します。
・「またはすべての要素が0でないとfield[i][j]==0は成り立たないのでしょうか?」
field[i][j]は、配列要素の個別の値を示します。
意味をよく考えましょう。
変数flgは、グローバル変数として定義されています。
設定が変更されるまで、flagの値は変わりません(クラス内で不変)。

・「if(flg)は何かの省略形だと思うのですがif(flg==true)なのでしょうか?」
そのとおりでしょう。
・「上記のようにif(flg==true)だとしたらif(flg){........」
del()が定義されていないので、分かりません。
・「最後のflg = trueは何を意味しているのでしょうか?」
flgの値をtrueに設定する意味でしょう。

質問した人からのコメント

2015/6/30 14:31:52

ありがとうございました^^

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる