2011-09-29 27 views
9

Chúng tôi đã sử dụng các hàm như exit() trong C++ để kết thúc bất thường việc thực thi chương trình, chúng ta có thể sử dụng hàm nào trong Java. Ví dụ: - Trong chương trình sau tôi muốn chấm dứt thực thi ngay khi giá trị của i được in lần đầu tiên.Phương pháp nào được sử dụng để chấm dứt việc thực hiện chương trình Java ở giữa?

//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

Vui lòng định dạng câu hỏi của bạn đúng cách. – m0skit0

+0

Điều này liên quan đến C như thế nào? – Praetorian

Trả lời

11

System.exit(0) hoặc Runtime.getRuntime().exit(0)

+0

Chúng giống nhau. 'System.exit (0)' được triển khai thành 'Runtime.getRuntime(). Exit (0)' –

+0

@Eng. đúng vậy. System.exit() sẽ gọi Runtime.getRuntime(). Exit() –

5

Sử dụng break để thoát khỏi vòng lặp và để cho hàm kết thúc tự nhiên hoặc đồng bằng return để thoát hoàn toàn chức năng.

Có lẽ nó cuối cùng là thời gian để học cách kiểm soát dòng chảy của bạn mà không goto báo cáo và các khoản tương đương của họ (exit, longjmp, try..catch sử dụng để kiểm soát dòng chảy vv).

7

Bạn có thể làm điều đó như thế này:

System.exit(0); 
0

Trong C, C++Java chương trình chấm dứt khi trở về main/Main chức năng/phương pháp. Sự khác biệt là ở trong Java loại trả lại Mainvoid. Khi chấm dứt bình thường, nó luôn trả về thành công.

Để cho biết kết thúc không bình thường và trả lại mã thoát khác 0, hãy sử dụng System.exit.

2

Đây là một cách tốt để kết thúc các ứng dụng trong Java:

System.exit(0); 

Ví dụ:

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

Trong trường hợp cụ thể của bạn, bạn chỉ đơn giản là có thể thoát khỏi vòng lặp bằng cách sử dụng break, trong đó sẽ trông giống như như sau:

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

Vì không có mã sau, nhưng bạn cũng có thể, s được đề cập trước đây, sử dụng lệnh System.exit(0) để thực sự chấm dứt chương trình của bạn.

Một cách khác có thể là thay đổi mã của bạn một chút và đặt trực tiếp số if-statement trong vòng kết thúc vòng lặp của chúng tôi. Cách này có thể trông giống như sau:

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

khó đọc hơn một chút, nhưng bạn không cần thêm lệnh để kết thúc chương trình. Dấu chấm phẩy phía sau 'điều kiện' chỉ đơn giản nói rằng trong khi vòng lặp đang chạy, không có gì nên được thực hiện. Trong trường hợp đó, vòng lặp của bạn chỉ đơn giản là đếm biến của bạn. Để dễ đọc hơn, bạn cũng có thể đặt số đếm ´i´ trong phần thân của vòng lặp.

Các vấn đề liên quan