あなたの過去の質問をいくつか読んでみました。
私も初めてプログラムを勉強したとき(高校生のとき)、for文の中で起きていることが理解しにくかったのを思い出します。
forがネストしているときや、2次元の配列を扱う問題は特に難しいです。いや、難しいというよりも想像しにくいんですよね。
これは訓練の問題だと思います。
一般的に、こういうことを理解するためには、最終的な答えが出るまで、変数の値を地道に書き出すべきだと思います。
例えば、次のような、あなたの質問(QNo.3686207)が有りました。
<引用>
*****
****
***
**
*
上のように*が減るようにしたいのですが下のソースではどこが悪いか教えてください
class TestGoo{
public static void main(String args[]){
for(int i = 5; i>=1; i--){
for(int j = 5;j>=1; j--){
System.out.print('*');
}
System.out.println();
}
}
}
</引用>
あなたのプログラムを実際に書き出して追っていけば、
i=5 j=5
j=4
j=3
j=2
j=1
i=4 j=5
j=4
j=3
j=2
j=1
....
....
i=1 j=5
j=4
j=3
j=2
j=1
となるので、5本とも同じ長さのグラフになってしまうことが分かったのではないでしょうか。本当は次のようにならないといけなかったわけです。
i=5 j=5
j=4
j=3
j=2
j=1
i=4 j=4
j=3
j=2
j=1
i=3 j=3
j=2
j=1
i=2 j=2
j=1
i=1 j=1
このような解説は入門書には書かれていないでしょうか。
あなたが、Javaを初めてのプログラミング言語として勉強しているのなら、こういった地道な努力も必要でしょうね。
もちろん、こんな面倒なことは最初のうちだけで、慣れてくると必要なくなります。そのうち、書いている途中でパッと道筋が見えてくるようになるでしょう。しまいには全く書かなくても分かるようになります。
ちなみに、あなたが、今学習している内容では、飛ばしてから後でやり直すのは許されないと思います。必ず理解してから進みましょう。
お礼
今だへこみ気味ですが適切な返答ありがとうございます