2013-01-21 4 views
2

J'ai essayé Code:Console Erreur d'entrée java.lang.NullPointerException

import java.io.Console; 
public class Default 
{ 
    public static void main(String args[]) throws IOException 
    { 
     Console console = System.console(); 
     String testing = console.readLine("Enter Name: "); 
     System.out.println("Entered Name: "+ testing); 
    } 
} 

va à l'exception avec l'erreur suivante:
Source not found. NullPointerException

J'utilise Eclipse Juno EE pour le débogage ..!

Et le lien de référence pour le code écrit ci-dessus est here

+0

L'erreur est-elle levée au moment de la compilation ou de l'exécution? – MTCoster

+0

@MatthewCoster, le temps d'exécution! – Enthusiastic

+0

Peut-être que [this] (http://stackoverflow.com/questions/104254/java-io-console-support-in-eclipse-ide) question aidera alors. – MTCoster

Répondre

3

Exécutez-vous votre programme à partir d'un IDE car console.readLine renvoie null lorsqu'il est utilisé à partir d'un IDE.

For more details refer to this

Si vous exécutez la ligne de commande vous n'obtiendrez cette erreur.

3

System.console() renvoie null s'il n'y a pas de console.

Vous pouvez contourner ce problème par adding a layer of indirection to your code ou en exécutant le code dans une console externe et attaching a remote debugger.

+1

Exactement - et, ceci est vrai lors de l'exécution depuis Eclipse: https://bugs.eclipse.org/bugs/show_bug.cgi?id=122429 –

+0

J'ai essayé la même chose dans netbeans, 'System.console()' renvoie null même ici. Pourquoi est-ce vrai? –

3

En effet, IDE n'utilise pas la console!

Aller à cmd.exe

Type cd <bin path> pressez la touche Entrée ..

maintenant taper java <classname> pressez la touche Entrée

Il fonctionne!

+0

Eh bien, vous avez raison. Cela fonctionne à partir de la console Windows. Mais le problème ici est, OP utilise Eclipse IDE. Et Eclipse IDE n'a pas 'System.console()'. C'est un bug connu: - https://bugs.eclipse.org/bugs/show_bug.cgi?id=122429 –

+0

@RohitJain, j'ai dit la même chose que son IDE n'utilise pas la console. Mais vous pouvez exécuter n'importe quel code java compilé à partir de l'invite de commande. C'est la beauté de Java! –

Questions connexes