[JAVA] Le programme ne fonctionne pas, le programme ne s'arrête pas ...

introduction

(* Cet article s'adresse à ceux qui commencent tout juste à apprendre le programme.) Programmeurs inexpérimentés et nouveaux programmeurs qui commencent tout juste le programme "Et si un bug survient? Vous pouvez être plein d'anxiété, comme "Si cela ne fonctionne pas ..." Tout d'abord, il ne démarrera que si vous exécutez le programme, alors exécutons-le pour le moment: thumbsup_tone2:

Quand je suis instructeur d'école informatique ...

"Je suis désolé ... ça ne marche pas ...: frowning2 :: frowning2:" "Beaucoup de personnages étranges sont sortis ...: sanglot:" "Le programme ne s'arrête pas: cri:"

Je fais: ordinateur: instructeur d'école: ordinateur:, alors bien sûr je répondrai poliment à ces questions, C'est seulement ** au début **: sweat_smile: En fin de compte, vous devez le résoudre vous-même: walking_tone1:

Calmons-nous d'abord

Que le programme ne fonctionne pas ou ne s'arrête pas, calmons-nous d'abord. Il y a toujours une cause: bangbang:

Quand le programme ne s'arrête pas

(* Cette fois, nous écrirons en supposant qu'Eclipse est utilisé) Arrêtons-nous d'abord: sweat_smile: C'est souvent le cas lorsque vous êtes accro à une boucle infinie, comme lorsque vous vous entraînez pour des phrases.

stop3.png

Voici le code qui a provoqué la boucle infinie

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

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

	//Liste de l'année en cours à 10 ans plus tard
	for(int i = year ; i <= year + 10; year++){

		yearList.add(i);

	}

Si vous utilisez le "** mode débogage **", vous le remarquerez immédiatement, mais si vous ne savez pas encore ** déboguer **, (Vérifiez tout de suite le mode de débogage: sans expression :) Vous remarquerez si vous essayez d'afficher yearList.add (i); comme System.out.println (i);. (Veuillez arrêter tout de suite: expressionless :: expressionless :) Cette fois, cela a été causé par «year ++» dans la condition de répétition. Si le nombre d'année augmente, cela ne s'arrêtera pas.

Quand le programme ne fonctionne pas

Tout d'abord, "** Voyons la console **": eyes :: eyes: Les détails de l'erreur et la partie correspondante doivent être affichés. Voici le contenu affiché sur la console en exécutant le programme contenant le bogue.

java.lang.NullPointerException  //★ Détails de l'erreur
    at instructor.BugCode.main(BugCode.java:17) //☆ Où l'erreur s'est produite
java.lang.ArithmeticException: / by zero //★ Détails de l'erreur
    at instructor.BugCode.main(BugCode.java:38) //☆ Où l'erreur s'est produite

Ne paniquez pas même si vous avez plusieurs lignes, cherchez la partie "... Exception" et le nom de la classe que vous avez créé: exclamation:

java.lang.IndexOutOfBoundsException: Index: 3, Size: 2 //★ Détails de l'erreur
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    at instructor.BugCode.main(BugCode.java:52) //☆ Où l'erreur s'est produite

★ Si vous pouvez confirmer les détails de l'erreur et l'emplacement où l'erreur s'est produite, vous devriez avoir une idée. Découvrons les exceptions sans aucun tracas: rage:

en conclusion

Comme je l'ai écrit au début, le programme ne démarre que s'il est exécuté. Vous ne pouvez pas grandir si vous avez peur des bugs: arrow_lower_right: (Veuillez arrêter le code imprudent: rolling_eyes :) Il n'y a pas de programme sans bogues, alors exécutez de plus en plus le programme et habituez-vous à identifier les bogues. Lutterons toujours contre la correction de bogue ~: fist:

Recommended Posts

Le programme ne fonctionne pas, le programme ne s'arrête pas ...
Quand la commande vagabond ne fonctionne pas
Cela ne fonctionne pas si la clé Map est un tableau
@ClassRules ne fonctionne pas avec PowerMockRunner
ruby get.chomp.to_i ne fonctionne pas, ne se charge pas
Arrays.asList (int []). Contains (int) ne fonctionne pas
J'ai une question car la configuration de gradle ne fonctionne pas
Que faire lorsque la validation ne fonctionne pas avec l'action de mise à jour
"RSpec ne fonctionne pas!" La cause était le printemps, alors je l'ai étudiée.
[Débutant] Lorsque les rails ne fonctionnent pas
Ordre de traitement dans le programme