IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Test procedure ISBN


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut Test procedure ISBN
    Bonjour à tous,
    J'ai besoin d'un ISBN pour un exo sur une bibliothèque et j'ai trouvé sur le net cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    public class ISBN {
     
        public static void main(String[] args)  { 
     
            // read in one command-line argument
            int n = Integer.parseInt(args[0]);
     
            // compute the weighted sum of the digits, from right to left
            int sum = 0;
            for (int i = 2; i <= 10; i++) {
                int digit = n % 10;                // rightmost digit
                sum = sum + i * digit;
                n = n / 10;
            }
     
            // print out check digit, use X for 10
            System.out.print("The full ISBN number is " + args[0]);
            if      (sum % 11 == 1) System.out.println("X");
            else if (sum % 11 == 0) System.out.println("0");
            else                    System.out.println(11 - (sum % 11));
        }
    }
    J'ai sur l a ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     int n = Integer.parseInt(args[0]);
    l'erreur "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0" qui je pense à cause de la dimension de mon tableau, mais je n'arrive pas à trouver comment y remédier et je ne sais pas comment lancer cette classe avec un argument (args).
    Si quelqu'un peut m'aider MERCI

  2. #2
    Membre émérite Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 593
    Par défaut
    Citation Envoyé par xeron33 Voir le message
    J'ai sur l a ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     int n = Integer.parseInt(args[0]);
    l'erreur "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0" qui je pense à cause de la dimension de mon tableau, mais je n'arrive pas à trouver comment y remédier et je ne sais pas comment lancer cette classe avec un argument (args).
    Si quelqu'un peut m'aider MERCI
    Bonjour,

    D'après ce que tu dis ci-dessus, tu ne semble pas appeler la classe avec des arguments. Donc le tableau args est vide, ce qui cause l'erreur que tu indiques.

    Vu que le code est dans la méthode main, et que celle-ci est appelée lors du lancement du programme, il faut simplement ajouter les arguments à la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java ISBN 9783161484100
    et args[0] devrait contenir "9783161484100".

    cf https://java.developpez.com/faq/java...ne-de-commande

    Et s tu exécutes le code depuis un EDI, il faut paramétrer la ligne de commande depuis l'EDI.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut
    Citation Envoyé par Cincinnatus Voir le message
    Bonjour,

    D'après ce que tu dis ci-dessus, tu ne semble pas appeler la classe avec des arguments. Donc le tableau args est vide, ce qui cause l'erreur que tu indiques.

    Vu que le code est dans la méthode main, et que celle-ci est appelée lors du lancement du programme, il faut simplement ajouter les arguments à la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java ISBN 9783161484100
    et args[0] devrait contenir "9783161484100".

    cf https://java.developpez.com/faq/java...ne-de-commande

    Et s tu exécutes le code depuis un EDI, il faut paramétrer la ligne de commande depuis l'EDI.
    **************************************************
    Merci pour ta réponse en effet il faut donner une valeur à args je rajoute aussi que pour Eclipse il faut aller dans Run/Configuration et onglet Arguments.
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. test 3 PING avant procedure
    Par apetroff dans le forum VB.NET
    Réponses: 1
    Dernier message: 24/12/2009, 15h40
  2. css.developpez.com : la procedure de test dans Joomla
    Par sphere369 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/08/2009, 19h22
  3. PROCEDURE STOCKE : deux test en meme temps
    Par overider dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/09/2007, 10h11
  4. tests sur requetes dans une procedure stockée
    Par morback dans le forum SQL
    Réponses: 18
    Dernier message: 30/08/2007, 16h36
  5. [VBA_E] Procedure de test de fichier existant
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2007, 20h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo