Salve a tutti,
dovrei realizzare un metodo di stampa per dei costrutti logici e tener traccia di cosa stra dentro il costrutto stesso. Mi spiego meglio...ad esempio quando vado a stampare i miei oggetti WHILE, vorrei che la stampa risulti col giusto allineamento, es:
WHILE ( a )
---->WHILE ( b )
-------->WHILE ( c )
------------>c = "false"
-------->b = "false"
---->a = "false"
in realtà non riesco perchè l'assegnamento "c = false", perdo traccia di cosa ci sia prima...non riesco a far capire a B ed A di che WHILE facciano parte.
Il mio metodo attuale è:
...a come già accennato, il risultato è sballato:.....
public static String barre = "";
.....
.....
@Override
public String toString() {
String res;
res = "WHILE ( " + expr.toString() + " )";
for(Statement stat : getStatements()) {
barre = barre + "----";
res = res + "\n" + barre + ">" + stat.toString();
}
barre = "";
return res;
}
questo perchè dopo l'assegnamento di C, non trova altri statement ed esce dal ciclo... resetta "barre" e poi riprende a lanciare il toString() in modo indipendente (questo perchè non c'è legame tra gli statemente "c = false" e "b = false" ...mentre in quelli prima il legame c'è perchè si accorge che sono annidati... toString...while...toString...while...ecc... ma quando finisco i while perdo traccia)WHILE ( a )
---->WHILE ( b )
-------->WHILE ( c )
------------>c = "false"
---->b = "false"
---->a = "false"
Avete consigli?![]()

Rispondi quotando