Obtenir la sortie avec Java est assez simple, car vous pouvez utiliser L'entrée, d'autre part, semble un peu différente. Certaines personnes recommandent Java.Util.Scanner A > tandis que d'autres recommandent Java.io.bufferedreader , et je suis sûr qu'il y a beaucoup d'autres recommandations. Les deux méthodes ci-dessus sont les plus régulièrement utilisées. P>
Ne semble pas non plus présenter des options très belles (à mon avis). Alors, y a-t-il un meilleur moyen d'obtenir une entrée d'une fenêtre de console en Java? Et s'il n'y a pas, que dois-je choisir? P> system.out.print code> et similaire. P>
7 Réponses :
Je pense que la classe de scanner est assez utile. Par exemple avec BufferDreader, vous devez lire une ligne à la fois et analyser pour les valeurs. Mais dans le scanner, vous obtenez des entiers avec la prochaine méthode () etc. p>
Je pense que le scanner est utile dans deux aspects, . Je préfère le scanner. P> p>
Le scanner est pratique, mais il est plus lent que BuffereDreader. p>
Pour la saisie de la console Vous pouvez utiliser Il a des options pour Le scanner est une option la plus simple et bonne pour moins d'entrées, mais il est un peu plus lent que d'autres options telles que i personnellement comme System.Console () code>, qui est disponible dans / après Java 1.6 P>
readpassword () code> (ne montrera pas le caractère saisi sur la console aussi, ne pas le mettre en cache) et readline () p>. P>.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // using java.io.*
String name = reader.readLine(); // it reads everything into string
console () code> et bufferedreader () code> quand vous en avez tellement entrées à manipuler. p>
Scanner in = new Scanner(System.in); // using java.util.Scanner;
String s = in.nextLine(); // for reading string
int a = in.nextInt(); // for reading int
float b = in.nextFloat(); // for reading float
bufferedreader () code> car il fonctionnera avec des versions antérieures et des environnements non interactifs, plus plus vite. P>
String name = System.console().readLine(); //using java.io.*
Je préfère utiliser la console si vous utilisez Java 1.6 ou plus tard.
C'est simple une doublure. P>
String str = System.console().readLine();
bufferedreader est assez complexe et un peu long à utiliser mais il doit plus vite que Scanner, Si vous souhaitez prendre des contributions pour un but de codage concurrentiel, devez utiliser BufferDreader. Il y a aussi beaucoup de choses que vous pouvez vérifier ici. https: / /www.geeksforgeeks.org/fast-io-in-java-in-compétitive-Programmation/ P>
Je pense que le scanner est un peu lent, mais le scanner est meilleur Le problème dans le scanner est que c'est difficile à prendre une entrée de chaîne après l'entrée de l'INT, car la nouvelle netted ne lisait pas Newline ou quelque chose mais vous pouvez l'analyser à int ou longtemps après avoir pris l'entrée en tant que chaîne dans NextLine () de cette façon, vous n'avez pas à vous soucier du curseur int A = Integer.parseint (S.Nextline ()); P>
Vous avez un look ici
Jetez un coup d'œil à JLINE . Il s'agit d'une interface de commandement en forme de shell avec historique de commande, l'achèvement de l'onglet, etc.