Questo funziona, mentre in quello che ho scritto prima c'erano un po' di boiate, riposto tutto per completezza.
codice:
import java.io.*;
class Pila {
private final int MAX = 256;
private char store[] = new char[MAX];
private int cursore = -1;
public void svuota() {
cursore = -1;
}
public void push( char c) {
if( !piena()) {
cursore++;
store[cursore] = c;
}
}
public char pop() {
if( vuota()) return 0;
else return store[cursore--];
}
public char top() {
if( vuota()) return 0;
else return store[cursore];
}
public boolean vuota() {
return cursore == -1;
}
public boolean piena() {
return cursore == (MAX-1);
}
}
public class prova {
public static void main( String args[]) {
Pila pila = new Pila();
try {
char c = (char)System.in.read();
while( !pila.piena() && c != '\n') {
pila.push( c);
c = (char)System.in.read();
}
} catch(IOException eIO) {
System.err.println( eIO);
}
System.out.println( "La stringa rovesciata: ");
while( !pila.vuota()) {
System.out.print( pila.pop());
}
System.out.println( "\nGrazie per aver partecipato!");
}
}
Se non capisci qualcosa chiedi pure, ciao.