Cacher le texte que l'on tape au clavier dans la console

Cacher le texte que l'on tape au clavier dans la console - Java - Programmation

Marsh Posté le 15-09-2009 à 21:58:15    

Bonjour, je suis débutant en programmation java, et j'ai créé le programme basique qui permet d'afficher le texte que l'on a tapé dans la console.
 
Je fais tout en mode console, bien sur...
 
Donc je lance monprogramme.class dans la console via la commande "java" et on me demande donc de taper n'importe quoi au clavier, puis ensuite lorqsqu'on appuie sur entrée,
le programme dit "vous avez tapé : texte rentré au clavier"
 
donc tout va bien. (programme ultra méga giga basique)
 
Je voudrais rajouter un peu de suspens, car apres avoir demandé de taper du texte, quand on le tape il apparait dans la console.  
 
Ma question est simple : comment faire pour que le texte tapé ne s'affiche pas dans la console au moment ou on le tape??? (comme quand on tape un mot de passe dans la console lorsqu'il est demandé par exemple)
 
Voici la structure du programme :  
 
class genieinabottle {
 
 public static void main (String []args) {
 while(true) {
  System.out.println("Si j'arrive a deviner ce que tu as écrit, c'est que tu es un gros naze" );
  String texte = Keyboard.readString();
  System.out.println("Tu viens de taper : '"+texte + "'... ohlalaaaaa, c'est laid..." );
          }
      }
     }
 
Y'a t il une commande a rajouter, ou un opérateur quelconque ?
 
Merci d'avance.
 
MrGeeK


Message édité par MrGeeK le 15-09-2009 à 22:00:47
Reply

Marsh Posté le 15-09-2009 à 21:58:15   

Reply

Marsh Posté le 16-09-2009 à 00:24:44    

Je suppose que ta classe "Keyboard" est une classe spéciale qui t'a été fournie.
 
Avant Java 6, il n'existait pas de solution "propre" et portable pour faire ce que tu demandes. Depuis Java 6 il existe la classe "Console":
 

Code :
  1. import java.io.Console;
  2.  
  3. public class GenieInABottle {
  4.  
  5.     public static void main(String[] args) {
  6.         Console console = System.console();
  7.         if (console == null) {
  8.             System.out.println("Ce programme doit s'exécuter dans une console." );
  9.             return;
  10.         }
  11.         while(true) {
  12.             System.out.println("Si j'arrive a deviner ce que tu as écrit, c'est que tu es un gros naze" );
  13.             char[] texte = console.readPassword();
  14.             if (texte == null) {
  15.                 break;    // Quitte la boucle quand l'utilisateur met fin à l'entrée de texte
  16.             }
  17.             System.out.println("Tu viens de taper : '"+ new String(texte) + "'... ohlalaaaaa, c'est laid..." );
  18.         }
  19.     }
  20.  
  21. }

Reply

Marsh Posté le 16-09-2009 à 07:30:20    

Merci beaucoup!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed