Maison >Java >javaDidacticiel >Pourquoi System.console() renvoie-t-il parfois Null en Java et comment puis-je obtenir une entrée utilisateur de manière fiable ?
Accès aux entrées utilisateur avec System.console() de Java
En Java, la méthode System.console() fournit un moyen d'interagir avec la console et obtenir les commentaires de l'utilisateur. Cependant, lorsque vous essayez d'utiliser cette méthode, il n'est pas rare de rencontrer un objet nul renvoyé.
Dépannage du problème d'objet nul
Pour résoudre ce problème, il est essentiel comprendre que la méthode System.console() peut renvoyer null dans certains contextes, généralement en dehors d'un environnement IDE. Cela se produit car la console n'est pas toujours disponible dans tous les environnements, par exemple lors de l'exécution de votre code dans un IDE.
Méthodes de saisie alternatives
Pour surmonter cette limitation et obtenir la saisie de l'utilisateur de manière efficace, envisagez d'exploiter des méthodes alternatives :
System.out.print("Enter something:"); String input = System.console().readLine();
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter String"); String s = br.readLine(); System.out.print("Enter Integer:"); try { int i = Integer.parseInt(br.readLine()); } catch(NumberFormatException nfe) { System.err.println("Invalid Format!"); } } }
Remarque : Comme mentionné dans la solution fournie, System.console() peut renvoyer null dans les IDE. Par conséquent, il est recommandé d'utiliser des méthodes de saisie plus polyvalentes lorsque vous travaillez dans des IDE.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!