0
votes

Essayer d'écrire une méthode en Java qui recherchera une liste de base de données et renvoyera un objet client, étant donné un CustomerID

Je crée une demande de gestionnaire de clients pour un cours Java. Je l'ai séparé selon les exigences en 3 packages. Le premier paquet a une classe appelée client, qui modélise un client et ses variables d'instance, telles que la clientèle. Le deuxième package est une base de données client qui inclut une arrayliste. Le troisième paquet va être une interface utilisateur pilotée de menu qui permettra à l'utilisateur de choisir entre 4 options. Actuellement, je suis bloqué en essayant d'écrire une méthode qui recherchera dans la liste une clientèle donnée et de retourner un objet client.

Dans la classe de base de données du client, je reçois la clientèle de l'utilisateur dans la méthode. Ensuite, je suis en train d'exécuter une boucle pour traverser la méthode pour voir si le CustomerID est trouvé. J'ai des problèmes sur la manière de retourner un objet client si l'identifiant est une correspondance. xxx

Je veux retourner le client C à la fin de la méthode, mais je ne peux pas comprendre comment faire cela.


3 commentaires

Pourquoi vous devez réaffecter une variable CustomerID CustomerID = Scnr.Next (); Dans cette méthode?


Je recommanderais de le stocker sur une carte au lieu de la liste, vous auriez des objectifs de clientèle clés et de valeur. Dans ce cas, la recherche serait la clientèle facile client = clientsMap.get (CustomerID)


Voici le sujet SIMILIAIAR que vous voudrez peut-être explorer Stackoverflow.com/ Questions / 19774374 / ...


3 Réponses :


0
votes

Dans la déclaration IF, on peut simplement écrire retour c . Cela retournera le premier client qui correspond. À la fin de la méthode, on peut renvoyer nul ou jeter une exception si le client n'a pas été trouvé.


0 commentaires

0
votes

Vous comparez l'objet client avec CustomerID.

Changer le code sur P>

if (customerList.get(i).getId().equals(customerID) {
    return customerList.get(i);
}


0 commentaires

0
votes

Quelques-uns des erreurs potentielles que vous faites sont:

  1. passe dans un paramètre à votre méthode que vous n'utilisez pas. Soit le scanner Stufft en dehors de la méthode, puis transmettez l'ID sur la méthode ou effectuez la pièce scanner dans la méthode et n'a pas de paramètres. L'approche précédente est généralement la préférée, cependant.

  2. comparer le client à une chaîne. Vous devez comparer l'ID entré par l'utilisateur dans le champ ID CODE> CODE . La chaîne que l'utilisateur entre va jamais être égale à l'ensemble du client .

  3. Vous ne retournez rien de la méthode. Une fois que vous avez trouvé le client que vous recherchez, vous avez besoin d'une déclaration retour .

    En outre, vous pouvez utiliser Java "Enhanced for Loop" pour rendre le code un peu plus propre. Voici un certain code qui suppose que votre Objets Utilisez une chaîne comme ID et avoir une méthode .getid () sur eux pour obtenir leur ID.

    Voici un code qui doit rechercher un client. Cela peut être dans une autre méthode. xxx

    et voici la méthode de recherche qui se transforme dans la clientèle xxx

    note que je «Mentant beaucoup d'hypothèses sur la manière dont les autres parties de votre code que je n'ai pas vues sont structurées, vous devrez donc très probablement modifier cet exemple de code si vous souhaitez l'utiliser, mais j'espère que cela vous met à droite piste.


1 commentaires

Cela semble très utile! Maintenant, je dois juste comprendre comment faire appel à cela dans ma candidature - cet enseignant lance des balles courbées sur ce projet final.