2011-09-29 19 views
9

C++でexit()のような関数を使用して、プログラムの実行を異常終了させました。この関数はJavaで使用できます。 例: - 次のプログラムでは、iの値が最初に印刷されるとすぐに実行を終了します。Javaプログラムの実行を途中で終了させる方法は?

//following is the program : 
class Lcm { 
     public static void main(String args[]) { 

      int a = Integer.parseInt(args[0]); 
      int b = Integer.parseInt(args[1]); 

      for (int i=1 ; i<=a*b ; i++) { 
       if (i%a==0 && i%b==0) { 
        System.out.println("lcm is: " + i); 
        /* i want to terminate the program 
        * when the value of i is printed 
        * for very 1st time 
        */ 
       } 
      } 
     } 
    } 
} 
+0

あなたの質問は間違いなくフォーマットしてください。 – m0skit0

+0

これはCとどのように関連していますか? – Praetorian

答えて

11

System.exit(0)またはRuntime.getRuntime().exit(0)

+0

彼らは同じです。 'System.exit(0)'は 'Runtime.getRuntime()。exit(0)'として実装されています。 –

+0

@Eng。はい、そうです。 System.exit()はRuntime.getRuntime()を呼び出します。exit() –

5

breakを使用してループを抜けて機能が自然に終了するようにするか、またはプレーンreturnを使用して機能を完全に終了します。

おそらく最終的にgoto文およびその同等物(フロー制御などに使用exitlongjmptry..catch)せずに、あなたの流れを制御するために学習する時間です。

7

あなたはこのようにそれを行うことができます。

System.exit(0); 
0
C

C++Javaときmain/Main関数/メソッドが返すプログラムが終了します。違いはJavaの返品タイプMainvoidです。正常終了時には常に成功を返します。

異常終了を示し、ゼロ以外の終了コードを返すには、System.exitを使用します。

2

これは、Javaでアプリケーションを終了するには良い方法です:

System.exit(0); 

例:あなたは、単にのように見えることになる、breakを使用してループを脱出でき、あなたの特定のケースで

if (num1 == num2) { 
    System.exit(0); 
} 
0

また、そこには次のコードはませんが、あなたは可能性があるため

for (int i = 1 ; i <= a*b ; i++) { 
    if (i%a == 0 && i%b == 0) { 
     System.out.println("lcm is: " + i); 
     break; 
    } 
} 

、A:以下の前に述べた他のプログラムでは、実際にプログラムを終了させるためにSystem.exit(0)コマンドを使用してください。

コードを少し変更してif-statementをループ終了に直接入れることもできます。この方法は、次のようになります。

int i = 0; 
while (++i < a*b && !(i % a == 0 && i % b == 0)); 
System.out.println(j); 

少し難しく読むことですが、あなたはあなたのプログラムを終了するには、追加のコマンドを必要としません。 'while-condition'の背後にあるセミコロンは、ループが実行されている間は何もしないでください。その場合、ループは単純に変数をカウントアップします。読みやすさを向上させるために、ループの本体に'i 'のカウントを置くこともできます。

関連する問題