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 ?

Pourquoi System.console() renvoie-t-il parfois Null en Java et comment puis-je obtenir une entrée utilisateur de manière fiable ?

Barbara Streisand
Libérer: 2024-12-22 01:04:23
original
118 Les gens l'ont consulté

Why Does System.console() Sometimes Return Null in Java, and How Can I Get User Input Reliably?

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 :

  • Impression directe et Lecture :
System.out.print("Enter something:");
String input = System.console().readLine();
Copier après la connexion
  • BufferedReader :
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!");
        }
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal