3 votes

Nommer les objets java

Donc en ce moment, je suis en train de faire un simple programme bancaire en Java. Il permet d'ajouter un client et de déposer/retirer des fonds. Pour l'instant, j'ai 3 classes : Main, Banque, et Client. Pour l'instant, j'ai fait en sorte que lorsque vous ajoutez un client, il vous demande un nom. Mais pour l'instant, j'ai du mal à leur donner un nom. Je veux que Customer ait un nom d'utilisateur comme nom d'objet. Par exemple, si je saisis Bob1789 comme nom d'utilisateur, le programme fera ce qui suit :

Customer Bob1789  = new Customer("Bob1789");

Si je tape randomcustomer123, le programme le fera :

Customer randomcustomer123 = new Customer("randomcustomer123");

Donc, en gros, tout ce que je tape dans la case du scanner, sera transmis au nom du client.

Customer (whatever was typed in the scanner) = new Customer((whatever was typed in the scanner));

J'ai essayé de le faire, mais java suppose toujours que le scanner.NextLine() est le nom de l'objet.

Y a-t-il un moyen de le faire ?

3voto

Sweeper Points 1267

Vous pouvez utiliser un HashMap<String, Customer> pour cela. Cela vous permet de stocker des paires nom-client.

HashMap<String, Customer> allCustomers = new HashMap<>();

Pour créer un nouveau client et le placer dans la carte,

String customerName = scanner.nextLine();
allCustomers.put(customerName, new Customer(customerName));

Pour obtenir un client avec un nom spécifique, utilisez ceci :

allCustomers.get("some name");

2voto

Shubhendu Pramanik Points 2470

Je ne sais pas pourquoi vous voulez utiliser le nom de l'objet. Vous avez probablement besoin d'utiliser HashMap<String, Customer> où nom est la clé et valeur est l'objet.

Map<String, Customer> map = new HashMap<>();

à ajouter map.put("yourName", obj); pour aller chercher map.pget("yourName");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X