Quote Originariamente inviata da mastodilu Visualizza il messaggio
Nel senso che, indipendentemente dalla lunghezza del programma, devo lasciare tutto dentro ad un blocco di codice.
Non potrei ad esempio risolvere con un if(scelta) goto inizio o un qualcosa del genere?
Tutti i miei professori mi hanno sempre "proibito" di usare queste istruzioni tipo break o goto, mi hanno fatto usare solo switch in rari casi.
Sì, devi avere tutto logicamente dentro un ciclo ... ma non necessariamente devi mettere fisicamente tutto quanto, tutta la gestione di tutte le operazioni dentro un unico metodo! Anzi ... spezza che è meglio.

goto è una keyword riservata di Java ma non ha alcuna funzione e non serve a nulla. È solo una parolina riservata, che non puoi usare (nemmeno come identificatore ... vale per tutte le keyword). Il break invece è utilizzabile, non è affatto proibito e se usato con giudizio, ha senso.

Esempio abbozzato di menù (usa Java 7 per lo switch su stringhe):

codice:
public static void menu() {
    String scelta;

    do {
        System.out.println("1) fai xxx");
        System.out.println("2) fai yyy");
        System.out.println("0) esci");
        System.out.print(">> ");

        scelta = // ....input.....

        switch (scelta) {
        case "1": operazione1(); break;
        case "2": operazione2(); break;
        }
    } while (!scelta.equals("0"));
}