Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException

TimKa

Mitglied
Mein Eclipse Programm gibt mir 1 Fehler aus:

Exception in thread "main" java.lang.NullPointerException
at Start.main(Start.java:3)


Es klappt aber ohne Probleme wenn ich den Code per hand mit CMD javac kompiliere und starte

Java:
public class Start {
	 public static void main(String[] args){
		int i  = Integer.parseInt(String.valueOf(System.console().readPassword()));
		System.out.println(i);
	}
}

Hat jemand eine Ahnung woran das liegen könnte?

Danke im Vorraus
 
Zuletzt bearbeitet:
Ein Programm, dass man nicht von der Console startet, hat keine Console, sprich System.console() gibt null zurück, wenn es aus Eclipse heraus (also nicht über eine Console) gestartet wird. Arbeite mit den Streams System.in, System.out und System.err, um Eingaben des Nutzers entgegen zu nehmen und Ausgaben anzuzeigen.
 
Danke Nille
habe jetzt den Code entsprechend angepasst:
Java:
import java.io.*;
public class Start {
	 public static void main(String[] args)throws IOException{
		InputStreamReader eingabeStream = new InputStreamReader(System.in);
		BufferedReader tastatur = new BufferedReader(eingabeStream);
		System.out.println("Geben Sie bitte eine Zahl ein:");
		int eingabe = Integer.parseInt(tastatur.readLine());
		System.out.println(eingabe);
	}
}
 
Ich hab damals irgendsowas gemacht:
Code:
sysout("bitte PW");
if (console != null) {
    return ...;
}
sysout("achtung: plain!");
return readInAnotherWay();
Es muss nicht mal an der Entwicklungsumgebung liegen, auch eine Shell o.ä. könnte keine "Konsole" besitzen. Zumindest musste ich damals dieses Verhalten feststellen. Weiss aber nicht mehr wie und wo und so...
 
So wie ich das jetzt verstehe, liegt es tatsächlich nicht an der Entwicklungsumgebung, sondern daran dass man System.console() nur mit der CMD konsole nutzen kann. Konsole die man in Eclipse hat ist eine andere Konsole und ist für System.console() ungeignet.
 

Zurück
Oben