###実現したいこと
下のコードを見てくださいこのようなコードがあるとします。
これは質問用に簡潔に作ったコードです。
今、cl1.sample();
が実行されているとしてcl1.sample();
のif
があります。
そこでsc.nextInt()
で2を入力したとします。
そうしたらcl1.sample();
が終了してwhile
に戻るようにしたいです。
初めはSystem.exit(0);
を使おうとしていましたがそうするとwhile
が実行されなくなってしまいます。
cl1.sample();
だけ終了するためにはどうすればいいかを教えてください。
それかその方法について詳しく載っているサイトのURLを教えてください。
追伸:
初心者なのであっていないかもしれませんがコンストラクタだけを終了させる方法と同義だと思います。
該当のソースコード
java
1import java.util.Scanner; 2public class test0301 3{ 4 public static void main(String[] args) 5 { 6 var cl1 = new sample01(); 7 while(true){ 8 System.out.println("restart"); 9 cl1.sample01(); 10 } 11 } 12} 13class sample01 14{ 15 void sample01() 16 { 17 var sc = new Scanner(System.in); 18 if(sc.nextInt()==1){ 19 System.out.println("sc.nextInt() = 1が実行されました"); 20 System.out.println("if_end"); 21 }else{ 22 System.out.println("sc.nextInt() = 1以外が実行されました"); 23 //ここで処理を止めて、上にあるwhileに戻りたい 24 System.out.println("if_end"); 25 } 26 } 27}
補足情報(FW/ツールのバージョンなど)
java jdk-14.0.2
java version "14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
回答1件
あなたの回答
tips
プレビュー