2013-03-07 13 views
5

Dire che sto facendo un'interfaccia a linea di comando. Voglio stampare una stringa, e poi cambiarla. Ad esempio, quando si esegue il programma, esso stampaÈ possibile richiamare un println in Java?

Hello, World! 

Pochi secondi dopo, però, il messaggio viene cambiato in:

Hello, Computer User! 

è possibile? Sarebbe preferibile il cross-OS.

+1

Look up "maledizioni" - vedi http://stackoverflow.com/questions/439799/whats- a-good-java-curses-like-library-per-terminal-applications –

+1

@pst - curses non è esattamente il cross-OS. –

+0

@TedHopp Ma un'implementazione equivalente di Java è (o è quanto ci si può aspettare) - il collegamento che ho aggiunto è stato trovato tramite '[java] curses' piuttosto banalmente. –

risposta

5

È possibile richiamare la sequenza di escape \b, che è backspace, quindi scrivere un nuovo messaggio, al posto di quello vecchio.

Si noti che questo potrebbe non essere completamente multipiattaforma, poiché è presente nella console stessa e in che modo interpreta \b, ma dovrebbe funzionare principalmente.

+0

Non sapevo che esistesse. Grazie mille. Ho intenzione di provare questo ora. – Piccolo

3

provare

String s1 = "Hello, word!"; 
    System.out.print(s1); 
    Thread.sleep(1000); 
    for(int i = 0; i < s1.length(); i++) { 
     System.out.print('\b'); 
    } 
    System.out.print("Hello, computer user"); 

nota che non funziona da Eclipse, eseguirlo dalla riga di comando

Problemi correlati