2014-11-13 13 views
5

Próbuję wykonać aplikację Kalkulator matematyki. Jednak zastanawiam się, czy istnieje oświadczenie, które pozwala wrócić do pewnej linii?Jak powrócić do konkretnej linii w Javie?

Pozwól mi wyjaśnić:

ja nie odnoszę się do pętli. Oto prawdopodobne scenerio: Powiedzmy, że użytkownik uruchomił program i osiągnął linię powiedzmy 54. Jeśli mam tam instrukcję if-else, czy istnieje sposób, w jaki mogę ją wykonać, aby "if (input = 0) { wrócić do linii 23}

Czy jest coś, co może pozwolić mi to zrobić, nie w tym pętli?

+2

Mamy tu do czynienia z OOP. Po prostu zrób metodę i nazwij ją: –

+1

Tak, ale nie powinieneś tego robić, jest to zły projekt i trudne do naśladowania. Zamiast tego skup się na tym, jak możesz ponownie wykorzystać funkcjonalność, którą chcesz osiągnąć ... – MadProgrammer

+9

Och, moje '$ deity', ** absolutnie nie **. Konstrukty takie jak te zostały zniesione od czasów BASIC minionych dziesięcioleci, ponieważ prowadzą do całkowicie nieczytelnego, niemożliwego do utrzymania kodu. –

Odpowiedz

1

Dlaczego nie można użyć pętli?

Umieść swój kod w funkcji, następnie wstawić pętlę, która działa, gdy wejście = 0.

1

Nie.

Instrukcja goto istnieje w językach C i C++, których Java jest trochę podobna do, ale ogólnie uważa się, że jest to zła praktyka. To sprawia, że ​​kod jest trudny do odczytania i debugowania. Oto poprawne sposoby rozwiązania tego problemu z programowaniem bardziej uporządkowanego:

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 nie posiada goto (goto to słowo zarezerwowane, ale nie wykorzystane). Zastanów się, w jaki sposób twoje podejście i wybór języka pasują do siebie. Prawdopodobnie istnieje lepszy sposób na zrobienie tego. Rozważ wyodrębnienie metody lub użycie flagi wewnątrz pętli. Bez dodatkowych informacji wytyczne będą ograniczone.

Powiązane problemy