これがコードです-
int i = 0;
System.out.printf( "\n%d\n\n", i ); // show variable i before loop
for( i = 0; i < 8; i++ )
{
System.out.printf( "%d\t", i );
}
System.out.printf( "\n\n%d\n", i ); // show variable i after loop
これが出力です-
0
0 1 2 3 4 5 6 7
8
私の問題は、forループの終了後に変数iを使用したいときに発生します。私は7を読んでいると思いますが、ゼロベースのカウントでは8番目の増分ですが、実際には8として読み取られます!!! ループの終了時に、変数iがもう1つインクリメントされました。
これを修正するには、ループの最後で、それ以降のコードで使用する前に、iのようなことを行う必要があります。これは、コードを理解しにくくするように私には思えます。
より良い解決策はありますか?