Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vérifier l'existence de valeur en argument du main

    14 octobre 2011 à 17:34:56

    Bonjour à tous,

    Je cherche à savoir comment vérifier que 2 paramètres ont bien été renseigné lors de l'exécution de mon programme.
    Autrement dit,

    public static void main(String[] args)
    {
        /* ici je veux savoir si un args[0] existe bien */
        int tailleX = (...) ? Integer.parseInt(args[0]) : 10;
        // car si elle existe pas, je veux définir une valeur par défaut
    }
    


    Et je ne vois pas quoi mettre, j'ai testé args[0].isEmpty() et args[0] == null mais les 2 solutions retournent toujours une exception.
    Donc est ce que la seule solution à ce problème est de faire un try/catch ?

    int tailleX;
    try {
        tailleX = Integer.parseInt(args[0]);
    } catch(Exception e) {
        tailleX = 10;
    }
    


    J'ai testé ce code et ça fonctionne très bien. Mais ya-t-il plus simple ? Une autre manière de faire ?
    • Partager sur Facebook
    • Partager sur Twitter
      14 octobre 2011 à 18:22:08

      Salut,

      T'as lu l'exception retournée ? t'aurais trouvé la réponse.

      Imagine que args[0] n'existe pas. args[0].empty() ne te semble pas bizarre ? (genre ArrayOutOfBounfException). La raison est que args a une taille nulle, donc args[0] n'existe pas.

      La façon la plus simple pour tester la taille c'est args.size().

      En l'occurrence ce qu'il te faut c'est
      if (args.size > nbDargVoulu)
        traiter les arguments
      


      Hedi
      • Partager sur Facebook
      • Partager sur Twitter

      Vérifier l'existence de valeur en argument du main

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown