[JAVA] Das Programm funktioniert nicht, das Programm hört nicht auf ...

Einführung

(* Dieser Artikel ist für diejenigen gedacht, die gerade erst anfangen, das Programm zu lernen.) Unerfahrene Programmierer und neue Programmierer, die gerade das Programm starten "Was ist, wenn ein Fehler auftritt? Möglicherweise sind Sie voller Angst, z. B. "Wenn dies nicht funktioniert ..." Zunächst wird es erst gestartet, wenn Sie das Programm ausführen. Führen Sie es daher vorerst aus: thumbsup_tone2:

Wenn ich ein IT-Schullehrer bin ...

"Es tut mir leid ... es funktioniert nicht ...: frowning2 :: frowning2:" "Viele seltsame Charaktere sind herausgekommen ...: schluchzen:" "Das Programm hört nicht auf: schreien:"

Da ich mache: Computer: Schullehrer: Computer: Natürlich werde ich solche Fragen höflich beantworten, Es ist nur ** am Anfang **: heat_smile: Am Ende müssen Sie es selbst lösen: walk_tone1:

Beruhigen wir uns zuerst

Ob das Programm nicht läuft oder nicht stoppt, lassen Sie uns zuerst beruhigen. Es gibt immer eine Ursache: Bangbang:

Wenn das Programm nicht stoppt

(* Dieses Mal werden wir unter der Annahme schreiben, dass Eclipse verwendet wird) Hören wir zuerst auf: heat_smile: Dies ist häufig der Fall, wenn Sie von einer Endlosschleife abhängig sind, z. B. wenn Sie für Sätze üben.

stop3.png

Hier ist der Code, der die Endlosschleife verursacht hat

	Calendar cal = Calendar.getInstance();
	int year = cal.get(Calendar.YEAR);

	List<Integer> yearList = new ArrayList<Integer>();

	//Liste vom laufenden Jahr bis 10 Jahre später
	for(int i = year ; i <= year + 10; year++){

		yearList.add(i);

	}

Wenn Sie "** Debug-Modus **" verwenden, werden Sie es sofort bemerken, aber wenn Sie noch nicht wissen, wie man ** debuggt **, (Überprüfen Sie sofort den Debug-Modus: expressionless :) Sie werden feststellen, wenn Sie versuchen, yearList.add (i); als System.out.println (i); auszugeben. (Bitte sofort aufhören: expressionless :: expressionless :) Dieses Mal wurde es durch "Jahr ++" im Wiederholungszustand verursacht. Wenn die Anzahl der "Jahr" steigt, hört es nicht auf.

Wenn das Programm nicht funktioniert

Zuallererst "** Mal die Konsole sehen **": eyes :: eyes: Die Details des Fehlers und des relevanten Teils sollten ausgegeben werden. Der folgende Inhalt wird auf der Konsole angezeigt, indem das Programm ausgeführt wird, das den Fehler enthält.

java.lang.NullPointerException  //★ Fehlerdetails
    at instructor.BugCode.main(BugCode.java:17) //☆ Wo der Fehler aufgetreten ist
java.lang.ArithmeticException: / by zero //★ Fehlerdetails
    at instructor.BugCode.main(BugCode.java:38) //☆ Wo der Fehler aufgetreten ist

Keine Panik auch in mehreren Zeilen, suchen Sie nach dem Teil "... Ausnahme" und dem von Ihnen erstellten Klassennamen: Ausruf:

java.lang.IndexOutOfBoundsException: Index: 3, Size: 2 //★ Fehlerdetails
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    at instructor.BugCode.main(BugCode.java:52) //☆ Wo der Fehler aufgetreten ist

★ Wenn Sie die Details des Fehlers und den Ort, an dem der Fehler aufgetreten ist, bestätigen können, sollten Sie eine Idee haben. Informieren wir uns über Ausnahmen ohne Probleme: Wut:

abschließend

Wie ich am Anfang geschrieben habe, startet das Programm erst, wenn es ausgeführt wird. Sie können nicht wachsen, wenn Sie Angst vor Fehlern haben: arrow_lower_right: (Stoppen Sie rücksichtslosen Code: rollende_Augen :) Es gibt kein Programm ohne Fehler. Führen Sie das Programm daher immer häufiger aus und gewöhnen Sie sich daran, Fehler zu identifizieren. Lass uns immer gegen Bugfix kämpfen ~: Faust:

Recommended Posts

Das Programm funktioniert nicht, das Programm hört nicht auf ...
Wenn der Vagabundbefehl nicht funktioniert
Es funktioniert nicht, wenn der Map-Schlüssel ein Array ist
@ClassRules funktioniert nicht mit PowerMockRunner
ruby get.chomp.to_i funktioniert nicht, lädt nicht
Arrays.asList (int []). Enthält (int) funktioniert nicht
Ich habe eine Frage, weil das Gradle-Setup nicht funktioniert
Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?
"RSpec funktioniert nicht!" Die Ursache war Frühling, also habe ich es untersucht.
[Anfänger] Wenn Schienen nicht funktionieren
Reihenfolge der Verarbeitung im Programm