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)
Io ho provato il metodo di Drowne (usando una variabile statica) e come output mi esce:
code:
DECLARE s; DECLARE arg1; arg1 = 5; 15
code:
String s = ""; for(int i=0; i<indent; i++) { s = s + " "; } return s+"PRINT "+messaggio+";\n";
__________________
...!
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.
Personalmente ho usato l'hashtable, xo si può fare anche con una variabile statica
Originally posted by Vorgoth
Io ho provato il metodo di Drowne (usando una variabile statica) e come output mi esce:
code:
DECLARE s; DECLARE arg1; arg1 = 5; 15
code:
String s = ""; for(int i=0; i<indent; i++) { s = s + " "; } return s+"PRINT "+messaggio+";\n";
Ma è strano che return non dia proprio niente no? Al max dovrebbe darlo con la indentazione sbagliata O_O;
__________________
...!
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...
Ora provo :\ thanks
__________________
...!
Sembra che il toString() non venga mai chiamato, ho provato un temporaneo
code:
public String toString() { return "Hello"; }
__________________
...!
O_O
controlla il toString di sequenza...
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
__________________
Be Attitude for Gains.
Ah, sembra che questo metodo a lungo andare faccia anche scadere lo yogurt.
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ì???
risolto
Drowne ci sei vero...
avrei bisogno di qualche chiarimento
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.