Question

Je passe un argument de ligne de commande en utilisant Netbeans mais je reçois un ArrayIndexOutOfBoundsException.

Mon code est:

public class CmdLineArgumentPassing

{

      public static void main(String args[])
      {        
         System.out.println("Count : " + args.length);

         System.out.println("i : "+args[0]);
      }
} 

La sortie est:

Count : 0

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Était-ce utile?

La solution

Faites un clic droit souris sur le projet, sélectionnez Propriétés, allez à la page Exécuter, ajoutez les arguments de ligne de commande.

Autres conseils

En tant que votre sortie est Count : 0 alors le tableau de args a une length de 0 ce qui signifie pas d'arguments sont passés.

Lorsque vous essayez d'accéder au premier argument en utilisant arg[0] vous obtenez une exception que vous essayez d'obtenir un membre du réseau qui n'existe pas. Dans ce cas, vous essayez d'obtenir le premier membre d'un tableau vide. Rappelez-vous les indices de tableau commencent à 0 et aller à length - 1.

args est vide, cela signifie que le problème est avec Netbeans passer vos arguments pas avec votre code, donc je suppose que Netbeans est pas configuré correctement.

J'ai eu les arguments sur les propriétés du projet / run / arguments, mais je runing la classe directement (clic droit sur le fichier de classe -> run), donc pas d'arguments du projet où être passé. La solution était de faire un clic droit sur le projet, puis sélectionnez l'option « Exécuter ». Les arguments sont passés où.

Cliquez sur proj et exécutez final et non le projet principal pour NetBeans 6.9. U va obtenir la réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top