Die Bekämpfung von Fehlermeldungen in Java-Programmierung

Manchmal Fehlermeldungen können auch die tapferste Programmierer Furcht in das Herz schlagen. Zum Glück einige hilfreiche, beruhigende Rat ist hier - Beratung zu helfen, das Problem zu lösen, wenn Sie eine dieser Meldungen zu sehen.

NoClassDefFoundError

Sie erhalten diese Fehlermeldung, wenn Sie versuchen, Ihr Code auszuführen. Also fragen Sie zuerst sich selbst, haben Sie versuchen, den Code zu kompilieren? Wenn ja, hast du keine Fehlermeldungen, wenn Sie zusammengestellt? Wenn Sie Fehlermeldungen sah, suchen Sie nach Dingen, die Sie beheben können in Ihrem .Java Datei. Versuchen Sie, diese Dinge zu beheben, und dann kompiliert die .Java Datei wieder.

Wenn Sie normalerweise Code halten in der JavaPrograms Verzeichnis, stellen Sie sicher, dass Sie immer noch in dieser Arbeit JavaPrograms Verzeichnis. (In Windows, stellen Sie sicher, dass die Eingabeaufforderung sagt JavaPrograms.)

Stellen Sie sicher, Sie haben einen passenden Namen .Klasse Datei in Ihrem Arbeitsverzeichnis. Zum Beispiel, wenn Sie versuchen, ein Programm auszuführen benannt MyGreatProg, suchen Sie nach einer Datei mit dem Namen MyGreatProg.class in Ihrem Arbeitsverzeichnis.

Überprüfen Sie Ihre Classpath, um sicherzustellen, dass es die enthält .Klasse -Datei, die Sie benötigen. Zum Beispiel, wenn Sie alle Ihre Java-Code in Ihrem Arbeitsverzeichnis ist, stellen Sie sicher, dass der Classpath einen Punkt enthält.

NoSuchMethodError

Wenn Sie diese Fehlermeldung auftreten, überprüfen Sie die falsche Schreibweise oder inkonsistente Aktivierung eines Methodennamen. Überprüfen Sie die Aktivierung von Main (nicht Main).

Wenn Sie die Ausgabe von Java Befehl (oder tun, was Sie normalerweise tun, ein Programm in Ihrer Umgebung ausgeführt werden), die Klasse tut, die Sie versuchen, enthalten sein eigenes zu laufen Main Verfahren? Wenn nicht, dann finden Sie die Klasse mit der Main Verfahren und stattdessen die Klasse laufen.

Kann nicht Symbol auflösen

Wenn Sie eine Fehlermeldung erhalten, die enthält auflösen kann nicht Symbol, Überprüfen Sie die Rechtschreibung und die Kapitalisierung aller Bezeichner und Schlüsselwörter. Dann klicken Sie hier.

Wenn das ungelöste Symbol eine Variable ist, stellen Sie sicher, dass diese Variable Erklärung an der richtigen Stelle ist. Zum Beispiel wird, wenn die Variable in ein erklärtes für Schleife der Initialisierung, versuchen Sie diese Variable außerhalb der zu verwenden für Schleife? Wenn die Variable innerhalb eines Blocks (ein Paar von geschweiften Klammern) deklariert ist, versuchen Sie, außerhalb des Blocks diese Variable zu benutzen?

Schließlich suchen Sie nach Fehlern in der Erklärung der Variablen. Wenn der Compiler-Fehler in einer Variablen Erklärung findet, dann kann der Compiler nicht, dass die Variablennamen in den Rest des Codes zu lösen.

Erwartete '-' (Oder etwas anderes erwartet)

Wenn Sie eine Fehlermeldung, die besagt, '-' erwartet, gehen durch den Code und stellen Sie sicher, dass jede Erklärung und jede Erklärung mit einem Semikolon endet. Wenn ja, dann vielleicht die Vermutung des Compilers über eine fehlende Semikolon ist falsch. Fixing einen anderen (scheinbar unzusammenhängenden) Fehler und Ihr Code neu kompilieren kann loswerden eine gefälschte bekommen '-' erwartet Nachricht.

Für eine fehlende Klammer, überprüfen Sie die Bedingungen ob Anweisungen und Schleifen. Stellen Sie sicher, jeder Bedingung in Klammern eingeschlossen ist. Also, stellen Sie sicher, dass eine Parameterliste (in Klammern) die Namen der einzelnen Verfahren folgt.

Für ein erwartet Nachricht, überprüfen Sie die Zuweisungsanweisungen. Stellen Sie sicher, dass jede Zuweisung innerhalb einer Methode ist. (Denken Sie daran, eine Erklärung mit einer Initialisierung außerhalb eines Verfahrens sein kann, aber jede gute alte Zuweisungsanweisung muss in einem Verfahren sein.)

Für die "Klasse" oder "Schnittstelle" erwartet Nachricht, stellen Sie sicher, dass Sie das Wort geschrieben habe Klasse korrekt. Wenn Ihr Code hat eine Import Erklärung, überprüfen Sie die Schreibweise und die Kapitalisierung des Wortes Import.

Fehlende Methode Körper oder Deklarieren Zusammenfassung

Sie erhalten ein fehlende Methode Körper oder erklären abstrakt Nachricht, wenn der Compiler sieht ein Verfahren Header, aber der Compiler kann die Methode der Körper nicht finden. Schauen Sie am Ende der Header der Methode. Wenn Sie den Header mit einem Semikolon beendet, dann versuchen Sie das Semikolon zu entfernen.

Wenn der Header nicht mit einem Semikolon, dann überprüfen Sie den Code unmittelbar nach der Kopfzeile. Der Code unmittelbar nach der Header mit einem geöffneten geschweiften Klammer (der Beginn einer Methode Körper) beginnen soll. Wenn ein Code zwischen dem Kopf und dem Körper des offenen geschweifte Klammer kommt, sollten Sie woanders, dass Code zu bewegen.

Ein "anderes" ohne "wenn"

Vergleichen der Anzahl von ob Klauseln mit der Anzahl der sonst Klauseln. Ein ob Klausel muss nicht ein zu haben, sonst Klausel, aber jeder sonst Klausel muss ein gehören ob Klausel.

Denken Sie daran, anbei erhalten Sie ein ob Bedingung in Klammern, aber Sie kein Semikolon nach dem Zustand versetzt. Haben Sie versehentlich ein Ende ob Zustand mit einem Semikolon?

Schauen Sie sich alle Linien zwischen ein ob und sein sonst. Wenn Sie finden mehr als eine Anweisung zwischen einem ob und sein sonst, suchen Sie nach geschweiften Klammern. Wenn die Aussagen zwischen den ob und sein sonst werden nicht von geschweiften Klammern umgeben, können Sie den Schuldigen gefunden zu haben.

Nicht-statische Variable kann nicht von einem statischen Kontext referenzieren

Viele Dinge kann Ihnen ein nicht-statische Variable nicht von einem statischen Kontext referenziert Fehlermeldung. Aber für Programmierer beginnen, ist die häufigste Ursache ist, die eine Variable, die außerhalb der erklärt hat Main Verfahren. Es ist keine Sünde, eine solche Variable zu deklarieren, sondern weil die Main Methode ist immer statisch, Sie brauchen eine besondere Hilfe die zu machen Main Methode auf eine Variable verweisen, die außerhalb der erklärt hat Main Verfahren.

Die schnellste Lösung ist, das Wort zu setzen statisch vor der Erklärung der Variablen. Aber zuerst fragen Sie sich, warum Deklaration dieser Variable ist nicht innerhalb der Main Verfahren. Wenn es keinen guten Grund gibt, dann die Erklärung der Variable bewegen, so dass es innerhalb der ist Main Verfahren.

FileNotFoundException (Das System kann nicht die angegebene Datei finden) oder EOFException

Wenn Sie bei einem FileNotFoundException Nachricht, überprüfen, dass die Datei in Ihrem Code namens tatsächlich existiert. (Achten Sie auf die Datei Ihres Systems Explorer oder die Eingabeaufforderung verwenden.) Überprüfen Sie die Rechtschreibung in Ihrem Code gegen den Namen der Datei auf Ihrer Festplatte.

Wenn Sie eine richtig benannte Datei auf Ihrer Festplatte gefunden haben, stellen Sie sicher, dass die Datei im richtigen Verzeichnis ist. (Für ein Programm in Ihrem Arbeitsverzeichnis ausgeführt wird, eine typische Datendatei im Arbeitsverzeichnis auch.)

Wenn Sie einen Windows-Benutzer sind, stellen Sie sicher, dass das System nicht extra hinzugefügt haben .txt Erweiterung bei der Erstellung der Datei. (Verwenden Sie das Fenster Eingabeaufforderung die Datei den Namen zu überprüfen. Windows Explorer verstecken kann die .txt Erweiterung, und das führt immer zu Verwirrung.)

Für ein EOFException, Sie versuchen, wahrscheinlich mehr Daten zu lesen, als Sie in der Datei haben. Sehr oft eine kleine Logikfehler macht Ihr Programm dies tun. So tun, um eine sorgfältige Überprüfung aller Schritte bei der Ausführung Ihres Programms. Geben Sie für subtile Dinge, wie nicht ordnungsgemäß grundiert Schleifen oder das Lesen von Array-Werten Vergangenheit der größte Index des Arrays. Geben Sie für Bedingungen, die verwendet werden le; wenn sie sollten verwenden lt;. Bedingungen wie diese können oft lästig sein.

Menü