サイザー専用JAVA演習場
■ このスレッドは過去ログ倉庫に格納されています
0135デフォルトの名無しさん
2006/12/14(木) 11:21:06のループと
>for(int j=1; j<=9; j++){
のループの役割を意識することが重要。
>for(int i=1; i<=9; i++){
のループはi*jの通り、九九の左辺を1〜9まで変化させる。と、同時に1行の表示(の末尾で改行)を行う役割がある。
>for(int j=1; j<=9; j++){
のループはi*jの右辺を1〜9まで変化させる。
このループはfor(int i=1; i<=9; i++)のループの入れ子(ネスト)構造になっているから、
for(int i=1; i<=9; i++)が1回ループするごとに9回ループする。
つまり、
1*1、1*2、1*3、…、1*9、2*1、2*2、2*3、…、2*9、…、9*1、9*2、9*3、…、9*9
の順で処理されるわけだ。
そして表示は左辺が変わるごとに改行するのだから、改行位置は
1*1、1*2、1*3、…、1*9、(改行)、2*1、2*2、2*3、…、2*9、(改行)、…、9*1、9*2、9*3、…、9*9、(改行)
となる必要がある。
よって改行はfor(int j=1; j<=9; j++)のループではなくfor(int i=1; i<=9; i++)のループで別に表示しなければならないわけだ。
これでわかる?(\tがタブのエスケープシーケンスだってことはわかってるよな?)
もし分からなければ、>>124がどうなるから駄目だと予想していたのか、予想していた実行結果を書いてくれ。
おまい…フローチャートかけるようにならんと、本気でこの先きついぞ。
■ このスレッドは過去ログ倉庫に格納されています