.dsy:it. Pages (5): « 1 2 3 [4] 5 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- [Indentazione] Problema!!! (http://www.dsy.it/forum/showthread.php?threadid=24038)


Posted by Vorgoth on 10-02-2006 19:35:

Io ho provato il metodo di Drowne (usando una variabile statica) e :evil: come output mi esce:

code:
DECLARE s; DECLARE arg1; arg1 = 5; 15


...e basta :shock:

Non riesco a capire perche' non return proprio, anche sel codice sembra (almeno a me o_o) corretto.

eg. Stampa.toString():
code:
String s = ""; for(int i=0; i<indent; i++) { s = s + " "; } return s+"PRINT "+messaggio+";\n";


__________________
...!


Posted by Drowne on 10-02-2006 19:36:

Esempio

sequenza: {
while quello
if questo
s++
else
s--
}

identi cosi:

spazio=""
if(nspazi!=0) ciclofor di nspazi spazio = spazio+" "

sequenza: {
nspazi + while quello
nspazi=nspazi+2 if questo
nspazinspazi+2 s++
nspazi=nspazi-2 else
nspazi=nspazi+2 s--
nspaziINIZIALI+2 s--
}

la sequenza non è identata, ma il while ( e quello che tira fuori dopo ), l'IF/ELSE, le operazioni di incrementa e decremente, ecc... SI, quindi risulterà identata anche l'intera sequenza.

Questo MOLTO in sintesi... Cmq il succo è questo. :D

Personalmente ho usato l'hashtable, xo si può fare anche con una variabile statica


Posted by Drowne on 10-02-2006 19:41:

Originally posted by Vorgoth
Io ho provato il metodo di Drowne (usando una variabile statica) e :evil: come output mi esce:

code:
DECLARE s; DECLARE arg1; arg1 = 5; 15


...e basta :shock:

Non riesco a capire perche' non return proprio, anche sel codice sembra (almeno a me o_o) corretto.

eg. Stampa.toString():
code:
String s = ""; for(int i=0; i<indent; i++) { s = s + " "; } return s+"PRINT "+messaggio+";\n";


E' sicuramente un problema dato dalla variabile INDENT.
fai un system out di ident e vedi se varia o meno come vuoi tu...


Posted by Vorgoth on 10-02-2006 19:43:

Ma è strano che return non dia proprio niente no? Al max dovrebbe darlo con la indentazione sbagliata O_O;

__________________
...!


Posted by Drowne on 10-02-2006 19:44:

più che altro dovrebbe darti errore in compilazione o in esecuzione... Magari vedi con Eclipse in modalità debug cosa e come viene riempito dal tuo programma, cosi vedi se c'è l'errore o meno...


Posted by Vorgoth on 10-02-2006 19:49:

Ora provo :\ thanks

__________________
...!


Posted by Vorgoth on 10-02-2006 19:58:

Sembra che il toString() non venga mai chiamato, ho provato un temporaneo

code:
public String toString() { return "Hello"; }

e cmq non esce a schermo O_O....boooh.

__________________
...!


Posted by Drowne on 10-02-2006 21:17:

O_O

controlla il toString di sequenza...


Posted by SpiritKJ on 11-02-2006 00:58:

Ok, quello che ho pensato pare che sia effettivamente implementabile, si tratta di un metodo ricorsivo che necessita di una variabile che definisce il numero degli spazi da lasciare per l'indentazione. Quando una serie di istruzioni è indentata, tutta la serie si sposterà dello stesso numero di spazi + gli spazi della serie stessa, e questo è il concetto di base. In questo modo se la variabile col numero degli spazi da lasciare varia, varierà anche il numero di spazi da lasciare per ogni serie. Sembra complicato perchè a quest'ora è normale che non riesca a esprimermi correttamente. Ah, sembra che questo metodo a lungo andare faccia anche scadere lo yogurt.

EDiT: azz, non avevo visto le 4 pagine di risposte :D

__________________
Be Attitude for Gains.


Posted by Drowne on 11-02-2006 01:00:

Ah, sembra che questo metodo a lungo andare faccia anche scadere lo yogurt.


Concordo, in via preventiva ho prontamente eliminato tutto lo yogurt che avevo in casa...

Mi ha sgasato la coca cola!!!


Posted by Vikyg13 on 11-02-2006 12:06:

A me stampa così:

else
..while(...)
....arg1 -= 1
..s += 1
.while(...)
.....arg1 -= 1
...s += 1
.Print s

I puntini indicano gli spazi, come mai mi risulta così???


Posted by Vikyg13 on 11-02-2006 13:41:

risolto


Posted by m410 on 11-02-2006 16:13:

Drowne ci sei vero...


Posted by m410 on 11-02-2006 16:14:

avrei bisogno di qualche chiarimento


Posted by m410 on 11-02-2006 16:20:

va be la variabile che definisce il numero degli spazi da lasciare per l'indentazione...è una variabile comune a tutte le classi quindi la definisco statica in Istruzione in modo da poter essere modificata da tutte le classi?Poi come li tolgo gli spazi?Insomma non ci ho capito una mazza...per while e if else soprattutto...abbiate pazienza sono un pò lenta...se qualcuno è cosi gentile da spiegarmi bene come si fa sta identazione...


All times are GMT. The time now is 20:21. Pages (5): « 1 2 3 [4] 5 »
Show all 61 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.