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

Java Discussion :

Calcul du chiffre clé d'un compte bancaire sur 24 positions


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Par défaut Calcul du chiffre clé d'un compte bancaire sur 24 positions
    Bonjour tout le monde!
    je voudrais intégrer une partie dans un projet java,qui consiste à calculer un chiffre clé d'un compte bancaire (sur 24 positions)
    ce chiffre clé est sur 2 postions
    Exemple:
    On positionne le chiffre clé à 00. Le compte étant sur 24 positions.

    Ex 011780000019210006200157

    On calcule le modulo des 12 premières positions de gauche par 97

    Ex 011780000019 MOD 97 = 16

    On concatène ce résultat avec les 12 position de la droite et on calcule le modulo 97

    Ex 16210006200100 MOD 97 = 40

    Le chiffre clé est 97 - 40 = 57


    Comment traduire cet algorithme en java

    merci d'avance pour votre aide!

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par karimoscapitated Voir le message
    Comment traduire cet algorithme en java
    Plutôt facilement, je dirais.

    Pour récupérer une partie d'une String, utiliser substring() sur cette String. Cela te permettra de découper ton numéro de compte en deux parties.

    Une fois découpé en deux parties, ces numéros tiennent dans un long.
    Pour parser une String représentant un numéro en long, on peut utiliser Long.parseLong()

    L'opérateur de modulo est %

    Si tu as des questions précises, n'hésite pas.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String S="011780000019210006200157";
     
    String p1 = S.substring(0,11);
    String p2 = S.substring(12,23);
     
    int mod1 = Integer.parseInt(p1)%97;
     
    int mod2 = Integer.parseInt( mod1 + p2 )%97;
     
    int resultat = 97 - mod2;
    A la volé, donc à tester

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par MrCba Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String S="011780000019210006200157";
     
    String p1 = S.substring(0,11);
    String p2 = S.substring(12,23);
     
    int mod1 = Integer.parseInt(p1)%97;
     
    int mod2 = Integer.parseInt( mod1 + p2 )%97;
     
    int resultat = 97 - mod2;
    A la volé, donc à tester
    C'est l'idée, mais :

    * s.substring(0, 1) donne le premier caractère d'une chaîne.
    Donc pour obtenir les 12 premiers il faut faire... ?

    * Une fois découpés en deux nombres, ça tient dans des long... Mais pas dans des int.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre actif
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Par défaut
    Citation Envoyé par thelvin Voir le message
    * s.substring(0, 1) donne le premier caractère d'une chaîne.
    Donc pour obtenir les 12 premiers il faut faire... ?
    Heeee ce que j'ai écrit ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ah bon. Ben si ça te choque pas, hein, c'est l'essentiel.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre actif
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Par défaut
    Mea culpa mais bon comme je te l'ai dit j'ai écrit ça sans tester

    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
     
    		String S="011780000019210006200100";
     
    		String p1 = S.substring(0,12);
    		String p2 = S.substring(12,24);
     
    		long mod1 = Long.parseLong(p1)%97;
     
    		long mod2 = Long.parseLong( mod1 + p2 )%97;
     
    		long resultat = 97 - mod2;
    		System.out.println(p1);
    		System.out.println(p2);
    		System.out.println(mod1);
    		System.out.println(mod2);
    		System.out.println(resultat);

  8. #8
    Membre confirmé
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Par défaut
    Merci pour vos réponses !
    je suis entrain de tester ce bout de code!
    le problème c'est que au début on doit positionner le chiffre clé à 00

    donc au moment ou on va concaténer le résultat avec les 12 positions de la droite,on doit mettre dans les 2 dernier positions 00
    16210006200100
    et après on calcule le modulo 97 de 16210006200100


    Merci

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

Discussions similaires

  1. [WD16] compte bancaire calculs
    Par kirikou84 dans le forum WinDev
    Réponses: 4
    Dernier message: 28/07/2012, 13h55
  2. VCS - N° de compte bancaire
    Par Tragnee dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 01/03/2007, 15h48
  3. Réponses: 5
    Dernier message: 31/05/2006, 20h06
  4. Algorithme [Gestion d'un compte bancaire]
    Par Laeticia dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 04/02/2005, 10h57
  5. [Modèle Relationnel] Gestion de comptes bancaires.
    Par Elmilouse dans le forum Schéma
    Réponses: 3
    Dernier message: 31/08/2004, 16h08

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