Eclipse NullPointerException

LokenID

Mitglied
Hallo,

ich hab folgenden Code bekommen:


Java:
import java.io.Console;
import java.util.Date;

public class Console2 {

    public static void main(String[] args) {
        Console c = System.console();

        c.format("Willkommen! Heute ist der %1$te. %1$tm %1$tY\n", new Date());
        String name = c.readLine("Wie ist Ihr Name? ");
        c.format("Na dann viel Spass beim Zahlenraten, %s!\n", name);

        int number = 42;

        while (true) {
            String read = c.readLine("Welches könnte die gesuchte Zahl sein? ");

            try {
                int tipp = Integer.parseInt(read);
                if (tipp == number) {
                    c.format("Glückwunsch! Sie haben die gesuchte Zahl %d gefunden!\n", tipp);
                    System.exit(0);
                } else {
                    c.format("Ihr Tipp %d war leider nicht richtig.\n", tipp);
                }
            } catch (NumberFormatException e) {
                c.format("Sie haben leider keine Zahl eingegeben. Ihre Eingabe war %s\n", read);
            }
        }
    }

}


Fehlermeldung von Eclipse:

Exception in thread "main" java.lang.NullPointerException
at Console2.main(Console2.java:9)

Schieb ich das aber auf den Uni-Server und compiliere über die Shell, funktioniert es einwandfrei.

Eclipse Java EE IDE for Web Developers, Java Package, JavaSE-1.7
Ein einfaches Hello World funktioniert mit Eclipse.

???:L

Danke und Gruß
 
Zuletzt bearbeitet:
ich würde einfach mal behaupten das "c" ... also das was du von System.console() bekommst ... schlicht NULL ist ... zumindest ist dass das einzige was in zeile 9 NULL sein könnte
 
System.console() ist nur gesetzt wenn du dein Programm aus einer Konsole startest.
Arbeite stattdessen besser mit dem Scanner und System.in.
 
hmm ... fehler sagt : in zeile 9 ist irgendwas NULL ... und "new Date()" wird es nicht sein ... und das einzig andere objekt was sonst noch verwendet wird ist "c" > folglich kann nur "c" NULL sein ... und warum "c" NULL ist hätte man google fragen können ...
 
C ist nicht null

Eclipse kann mit System.console() nicht umgehen und diese Verbindung hab ich nicht herstellen können, wo ist das Problem?
 
Zuletzt bearbeitet:
C ist nicht null

Eclipse kann mit System.console() nicht umgehen und diese Verbindung hab ich nicht herstellen können, wo ist das Problem?

hmm ... ganz erlich .. wenn "c" in zeile 9 NICHT NULL wäre würde dort auch keine NullPointerException fliegen ...
und das "problem" hast du selbst gepostet : "Eclipse kann mit System.console() nicht umgehen" ... und liefert darum auch NULL zurück ... und darum wird auch NULL in "c" gespeichert ... wesshalb "c" in zeile 9 eben NULL ist ... und da du versuchst eine methode auf NULL zu callen fliegt eben die NullPointerException ...
die erklärung war lediglich dazu um dir zu zeigen : irgendwo ist irgendeine objekt-referenz NULL ... und da "new Date()" nun mal sicher kein NULL zurückgeben wird (obwohl das sicher möglich sein düfte) und du außer diesem nur noch "c" als objektreferenz in dieser zeile stehen hast ergibt sich daraus das folglich diese referenz "c" nun mal NULL sein muss ...
und darum verstehe ich die aussage "danach hätte ich noch ewig gesucht" erlich gesagt überhaupt nicht ... denn es steht eine eindeutige fehlermeldung da und ich habe dir lediglich gesagt wie man von dieser auf den fehler hätte kommen können ... und wenn du das nicht verstehst dann hast du scheinbar ein gewaltiges problem damit Exceptions zu verstehen und nach den gegebenheiten den fehler zu suchen und entsprechend natürlich auch zu finden ...
 

Neue Themen


Zurück
Oben