2014-11-13 15 views
5

Tôi đang cố gắng tạo một Ứng dụng Máy tính Toán học. Tuy nhiên tôi tự hỏi nếu có một tuyên bố cho phép bạn quay trở lại một dòng nhất định?Làm thế nào để bạn quay trở lại một dòng cụ thể trong Java?

Hãy để tôi làm rõ:

Tôi không đề cập đến vòng lặp. Đây là một scenerio có thể: Giả sử người dùng đã chạy chương trình và tiếp cận dòng 54. Nếu tôi có một câu lệnh if-else ở đó, nếu có cách nào tôi có thể tạo nó để "if (input = 0) { quay trở lại dòng 23}

có điều gì mà có thể cho phép tôi làm điều này, không bao gồm một vòng lặp?

+2

Chúng tôi đang xử lý OOP tại đây. Chỉ cần thực hiện một phương pháp và gọi nó là –

+1

Có, nhưng bạn không nên làm điều đó, đó là thiết kế xấu và khó theo dõi. Thay vào đó, hãy tập trung vào cách bạn có thể sử dụng lại chức năng mà bạn đang cố gắng đạt được ... – MadProgrammer

+9

Oh my 'deity', ** hoàn toàn không **. Việc xây dựng như vậy đã bị bãi bỏ kể từ khi BASIC thập kỷ qua, bởi vì chúng dẫn đến mã không thể đọc được, hoàn toàn không thể đọc được. –

Trả lời

1

tại sao bạn không thể sử dụng một vòng lặp?

Đặt mã của bạn trong một chức năng, sau đó đặt vào vòng lặp chạy trong khi đầu vào = 0.

1

Không.

Câu lệnh goto tồn tại trong C và C++, Java tương tự như mơ hồ, nhưng thường được coi là rất thực tiễn kém để sử dụng. Nó làm cho mã khó đọc và gỡ lỗi. Dưới đây là một số cách đúng để giải quyết vấn đề này với lập trình có cấu trúc hơn:

do { 
    ... 
} while (input == 0); 
private void doTheThing() { // please use a better name! 
    ... 
    if (input == 0) doTheThing(); // recursion not recommended; see alternate 
            // method below 
} 

// alternate method: 
do { 
    doTheThing(); 
} while (input == 0); 
4

Java không có một goto (goto là một từ thuộc nhưng không được sử dụng). Hãy xem xét cách tiếp cận và lựa chọn ngôn ngữ của bạn phù hợp với nhau như thế nào. Có khả năng là một cách tốt hơn để làm điều này. Xem xét việc trích xuất một phương thức hoặc sử dụng một lá cờ bên trong một vòng lặp. Nếu không có thêm thông tin, hướng dẫn sẽ bị hạn chế.

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