Newsgroup: it.comp.java
Titolo: GOTO in Java

Vorrei realizzare un videogioco Java che gira su una applet.
Ma a differenza di Qbasic non posso farlo perché manca il goto.
Soluzioni alternative?
http://filmarx.altervista.org
 
 
 

1) le applet java sono considerate tecnologie obsolete; se vuoi fare un videogioco che sia fruibile su web e possa durare qualche anno,l'unica opzione seria è html + javascript oppure qualche framework proprietario.
2) goto non è assolutamente necessario per programmare alcunché, anzi è universalmente considerato qualcosa di dannoso. Solo il processore è in grado di eseguire quella istruzione, per il resto esistono in tutti i linguaggi del mondo dei sostituti più sicuri da usare rispetto a goto, da usare a seconda della reale necessità: if, for, invocazione di procedure sono i più usati.

Anche javascript manca del GOTO. Ho provato con "break label;" ma
niente da fare. Vedrò con le procedure.
http://filmarx.altervista.org
 
 
 

 universalmente considerato qualcosa di dannoso.
 
Nì, diciamo che GOTO è come una pistola carica e con la sicura difettosa, se
stai attento e sai quello che devi farci può essere utile, altrimenti sei
fregato. Ed è anche per questo motivo per cui in Java non è mai stato portato
 
Enrico

Intendevo che in java non c'é per due motivi: 
1 É un costrutto pericoloso
2 se ne può fare a meno, ovvero non ci sono cose non programmabili a vausa della sua mancanza. Se ci dici perché ti serve, magari con un esempio in pseudocodice che lo usa, possiamo indicarti come implementare la funzionalitá con quello che java ti da

 2 se ne può fare a meno, ovvero non ci sono cose non programmabili a vausa della sua mancanza. 
 
Non e` vero. Il goto ti da` modo di uscire istantaneamente da un ciclo annidato. Non puoi farlo con nessun altro costrutto. Poi, ovvio, si puo` farlo con break e variabili, in maniera meno efficiente ma comunque efficace. Era solo per rispondere al fatto che almeno UN caso non replicabile perfettamente esiste.

Mah,a me pare tu ti sia contraddetto da solo: "non si può rompere un ciclo infinito, a meno che non uso break". Il break è a tutti gli effetti una forma "innocua" di goto. Da notare che a differenza di goto, ci sono cose non programmabili senza continue (il break lo puoi emulare con un return incapsulando il ciclo in un suo metodo). In ogni caso sono personalmente contro il goto, non ho nulla contro break e continue

Nessuna contraddizione. Non hai capito quel che ho scritto. Se hai diversi cicli innestati, l'UNICO modo per saltare fuori (da tutti i cicli) dal più interno è usare un goto. Il break "rompe" solo il ciclo in cui è usato.

Ah preciso che non sto parlano di "cicli infiniti" ma di "cicli annidati". Qualcosa di analogo al goto si può comunque fare con break/continue e labels ma è comunque un goto.

 Se hai diversi cicli innestati, l'UNICO modo per saltare fuori (da tutti i
cicli) dal piÃ¹ interno Ãš usare un goto.
 
bella cagata di pasticcio.
 
 

In che senso? Spiega.

 
E secondo te ciccio risponde alle domande?
Bambino!
:-)

Ah, è sempre lui? Non lo avevo notato. Ora si spiega l'idiozia della sua risposta :)
"Anti-Tester": si è scelto un Nick che la dice lunga su quanto ci capisca di sviluppo software.

On Saturday, 24 June 2017 11:17:03 UTC+1, Dr.UgoGagliardelli  wrote:
 
[...]
Ah, comunque ti consiglio di lurkare it.test. Si lancia in discussioni dove dice cose del tipo "Conosco almeno 16 linguaggi diversi, vuoi che non conosca il C/C++?! ;-) "
 
Ovviamente può dirlo solo lì, dve non lo vede nessuno.

Invidioso! Torna a fare i tuoi cari e dolci test a testa bassa.
 
 

Mi hai confuso quando hai parlato di ciclo annidato. Avresti dovuto parlare di cicli annidati al plurale. Cmq non so in  C o altri linguaggi, ma in Java SI PUÒ FARE,usando break e continue. L'ho usato addirittura 3-4 volte,nella mia carriera java  ventennale .
Break e continue possono accettare una label e si possono attaccare label a tutti i blocchi e di conseguenza anche ai cicli

 Invidioso! 
 
Di che? Della tua idiozia?

 Break e continue possono accettare una label e si possono attaccare label a tutti i blocchi e di conseguenza anche ai cicli
 
L'ho già detto io.
 

Non e` vero. Il goto ti da` modo di uscire istantaneamente da un ciclo annidato. Non puoi farlo con nessun altro costrutto
 
A tirare in ballo break + label sono stato io

Ho scritto:
 
"Qualcosa di analogo al goto si può comunque fare con break/continue e labels ma è comunque un goto"
 
Leggi bene, prima di commentare.
 
Comunque break+label è solo un altro modo di scrivere un goto.