java.lang.ArrayIndexOutOfBoundsException: 0
Je suis à l'apprentissage de java à l'aide d'un livre. Il est à cet exercice que je n'arrive pas à travailler correctement. Il ajoute deux doubles à l'aide de la classe java Double. Lorsque j'essaie d'exécuter ce code dans Eclipse, il me donne l'erreur dans le titre.
public static void main(String[] args) {
Double d1 = Double.valueOf(args[0]);
Double d2 = Double.valueOf(args[1]);
double result = d1.doubleValue() + d2.doubleValue();
System.out.println(args[0] + "+" + args[1] + "=" + result);
}
Êtes-vous en passant arguments de ligne de commande ie de la valeur pour
Lire Eclipse : comment pouvons-nous prendre des arguments pour principal lorsque run
Pour une "vraie" application Java (pas un cas de test ou un jouet), vous devriez vérifier args.longueur avant d'accéder aux différents args valeurs.
double possible de Quelles sont les causes de java.lang.ArrayIndexOutOfBoundsException et comment puis-je l'empêcher?
args[0]
et args[1]
?Lire Eclipse : comment pouvons-nous prendre des arguments pour principal lorsque run
Pour une "vraie" application Java (pas un cas de test ou un jouet), vous devriez vérifier args.longueur avant d'accéder aux différents args valeurs.
double possible de Quelles sont les causes de java.lang.ArrayIndexOutOfBoundsException et comment puis-je l'empêcher?
OriginalL'auteur pg2014 | 2014-05-04
Vous devez vous connecter pour publier un commentaire.
Problème
Ce
ArrayIndexOutOfBoundsException: 0
signifie que l'indice0
n'est pas un index valide pour votre tableauargs[]
, qui à son tour signifie que votre tableau est vide.Dans ce cas particulier d'un
main()
méthode, cela signifie que aucun argument n'a été adoptée sur votre programme sur la ligne de commande.Solutions possibles
Si vous êtes en cours d'exécution de votre programme à partir de la ligne de commande, n'oubliez pas de passer 2 les arguments de la commande.
Si vous êtes en cours d'exécution de votre programme dans Eclipse, vous devez définir les arguments de ligne de commande dans la configuration d'exécution. Aller à
Run > Run configurations...
, puis choisissez leArguments
onglet de votre configuration d'essai et ajouter quelques arguments dans le arguments du programme zone.Noter que vous devez gérer le cas où pas assez d'arguments sont donnés, avec quelque chose comme ceci au début de votre méthode principale:
Ce serait un échec gracieusement au lieu de faire votre programme crash.
OriginalL'auteur Joffrey
Ce code s'attend à obtenir deux arguments lorsqu'il est exécuté (le
args
tableau).Le fait que l'accès à
args[0]
provoque unejava.lang.ArrayIndexOutOfBoundsException
signifie que vous ne sont pas la réussite de tous.OriginalL'auteur Mureinik