Siamo d'accordo che se non do INVIO i dati non arrivano al programma.
Quello che mi chiedo è come vengano gestiti gli escape (o newline nel caso specifico). Se il System.in.read() lo tolgo dal do/while interno (lasciando soltanto la verifica sull'esattezza del char), in console vedo - giustamente - la conseguenza di tre byte non verificati dal while, cioè mi scrive tre volte
codice:
Premi un tasto seguito da INVIO:
I byte vengono letti uno per volta, qua ci sono, ma se inizia col verificare il char (la prima 'p' del tuo "pippo"), come fa a restare nel do/while interno per "neutralizzare" le newline?
Non riesco a spiegarmi meglio.