練習問題の解答 <新わかりやすいJava 入門編>

 

B. ★★★

i+j>2 の時、breakするが、break flag; となっているので、(i,j) = (0, 0), (0,1), (0, 2) と3回出力した時、外側のfor文を抜けて終了してしまう。

G. コンパイルエラー

ラベル自体はプログラムのどこにでも置くことができますが、continueやbreakが参照するラベルは、forやwhileなどの繰り返し構文につけたラベルでなくてはなりません。問題では、変数宣言の前に置かれているのでコンパイルエラーになります。
正しくは、flagラベルを次のように書かねばなりません。