Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lier 2 tableaux en Java

Sujet résolu
    22 mai 2019 à 11:03:15

    Bonjour,

    Je travaille actuellement sur un projet de lecteur de carte rfid et j'aurai besoin d'aide. Ce que je cherche à faire est assez simple, j'ai plusieurs cartes et j'aimerai pour chacune de ses cartes savoir quand elles sont utilisé. J'ai donc eu l'idée de faire un compteur, mais le pb est que je dois spécifier le compteur de la carte, j'aimerais donc savoir s'il est possible de lier 2 tableau, à savoir le premier tableau avec le numéro de la carte et le deuxième avec le compteur, pour que quand je sélectionné la carte, le compteur s'incrémente et n'incremente pas le compteur des autres cartes.

    Je vous mets un bout de code :

    if(UIDlue.equals(UID[0])) {					
    compte[0]+=1;
    channel[0]=true;
    }
    if(compte[0]==1 && channel[0] ==true) {
    uid=UID[0];
    date=datelue;
    heurearrivee=heurelue;
    pointage[0]=uid+" est arrivé à "+ heurearrivee + " le "+date+ "\n";
    brokerTextField1.setText(pointage[0]);
    brokerTextField2.setText("En attente");
    enregistrer(pointage[0]);
    }
    if(compte[0]==2 ) {
    heuredepart=heurelue;
    pointage[1]=UIDlue+" est parti à "+ heuredepart + " le "+datelue+ "\n";
    compte[0]=0;
    brokerTextField2.setText(pointage[1]);
    enregistrer(pointage[1]);
    					}
    

    J'explique: si le lecteur lis la carte 0, un boolean va indiquer que le message est pour cette carte et le compteur s'incremente de 1, si le compteur est egal a 1, ca affiche le numero de la carte et la date a laquelle est arrive. Ensuite si cette meme carte est scanné une nouvelle fois, c'est la sortie. Je cherche donc a automatisé ce processus pour pas que je doivent le faire pour toutes les cartes. 

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2019 à 11:29:08

      Normalement il y a une List de carte et Eric possède une carte de cette List.

      Si Eric badge tu récupère la carte de la List grâce à ton identifiant et tu vérifie si elle est active ou pas grâce à un Boolean.

      si la carte n'est pas active (False) alors tu rentre dans la méthode badger() de ta carte

      sinon tu rentre dans la méthode debadger()

      -
      Edité par Jonathan TC 22 mai 2019 à 11:29:37

      • Partager sur Facebook
      • Partager sur Twitter

      La persévérance est ma vertu.

        22 mai 2019 à 11:39:00

        Merci de ta réponse, mais j'ai du mal à visualiser. Dois-je faire autant de boolean qu'il y a de carte ou un seul boolean suffit ?

        Edit: C'est bon j'ai trouvé une solution, j'ai initialiser un tableau de boolean, et je selectionne le boolean correspondant avec active[cartes.indexOf(UIDlue)] (active[] c'est le tableau de boolean et cartes ma liste). Ca marche très bien mais s'il y a une solution plus optimisée je suis preneur

        Merci !

        -
        Edité par Bilel598 22 mai 2019 à 13:25:06

        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2019 à 13:46:26

          J'aurai créer une classe Carte avec comme attributs : UID, isActive et des méthodes pour récupérer mes données.

          Dans le programme principal à l'initialisation je récupère la liste de toutes les carte que j'aurai stocker dans un ArrayList<Carte>

          Quand je récupère l'UID lue, je cherche dans ma liste de carte si une carte possède la même UID.

          Si elle existe alors je fais ce qu'ont à dit plus haut sinon je dis qu'il y a une erreur et que l'a carte n'existe pas.

          -
          Edité par Jonathan TC 22 mai 2019 à 13:48:09

          • Partager sur Facebook
          • Partager sur Twitter

          La persévérance est ma vertu.

            22 mai 2019 à 13:53:42

            Effectivement, ta solution à l'air meilleure, d'autant plus que je veux par la suite connecter mon programme à une base de données à utiliser avec Spring Boot, et que les méthodes décrites existe déjà. Je vais essayer de mettre ça en place, ca sera plus simple je pense. Merci encore!
            • Partager sur Facebook
            • Partager sur Twitter

            Lier 2 tableaux en Java

            × 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