年内はcontinue文のところで終わっていましたね。
今度は多重ループからの脱出というものをやっていきます。
多重ループからの脱出
package exercise;
import lib.Input;
public class Sample_sample6 {
public static void main(String[] args) {
for(int i=0; i<10;i++) {
int coin, total=0;
while((coin=Input.getInt("数値"))!=0) {
if(coin<0) {
System.out.println("不正なデータ"+coin);
break;
}
total+=coin;
}
System.out.println("計="+total);
}
System.out.println("終");
}
}
こんな感じに多重ループのプログラムができました。
起動してみると・・・・
ちょっと長くなりますが、コンソールにこのように表示されます。
POINT① break文は多重ループ脱出はできない
break文で脱出できるのは、内側の一つのループだけ
次にラベルをつかっって多重ループから脱出する というものをやってみます
ラベルをつかっって多重ループから脱出する
package exercise;
import lib.Input;
public class Sample_sample7 {
public static void main(String[] args) {
exit:for(int i=0; i<10;i++) {
int coin, total=0;
while((coin=Input.getInt("数値"))!=0) {
if(coin<0) {
System.out.println("不正なデータ"+coin);
break exit;
}
total+=coin;
}
System.out.println("計="+total);
}
System.out.println("終");
}
}
プログラムはこんな感じ
起動してみると・・・・
コンソールが短くスマートにwww
このほうが分かりやすいですね。
ちなみに5行目は
exit:
for(int i=0; i<10;i++) {
のように2行に分けて書くことも可能です。
point② ラベルを利用すると多重ループを一気に脱出可能
forやwhileの繰り返し構文にラベルを付けておき、break(ラベル);とする。
そして、break文に当てはまることはcontinue文にも当てはまります。
point③ continue文は多重ループの先頭には戻れない
continue文は内側のループの先頭だけに戻れます。
point④ ラベルを利用で、多重ループの先頭に一気に戻る
forやwhileの繰り返し構文にラベルを付けておき、continue(ラベル);とする。
ここまでご覧いただきありがとうございました。
これで chaputer11終了です。
まだまだ先は長い20まであるから・・・・・・
BYマんタ
参考書は__________________________________
川場 隆 Kawaba Takashi
秀和システム