现在,我正在制作一个简单的java银行业务程序。它允许您添加客户和存入/提取资金。现在,我有3个班级:Main,Bank和Customer。现在我拥有它,以便当您添加客户时,它会要求您输入名称。但是现在我在命名它们时遇到了麻烦。我想要 客户将用户名作为对象名称。例如,如果我输入Bob1789作为用户名,程序将执行:
Customer Bob1789 = new Customer("Bob1789");
如果我输入randomcustomer123,程序会这样做:
Customer randomcustomer123 = new Customer("randomcustomer123");
所以基本上,无论我在扫描仪的盒子里输入什么,都要传递给客户名称。
Customer (whatever was typed in the scanner) = new Customer((whatever was typed in the scanner));
我试过这样做,但java总是假设scanner.NextLine()是对象名。
有没有办法做到这一点?
答案 0 :(得分:3)
您可以使用HashMap<String, Customer>
。这允许您存储名称 - 客户对。
HashMap<String, Customer> allCustomers = new HashMap<>();
要创建新客户并将其放入地图,
String customerName = scanner.nextLine();
allCustomers.put(customerName, new Customer(customerName));
要获得具有特定名称的客户,请使用以下命令:
allCustomers.get("some name");
答案 1 :(得分:2)
不知道为什么要使用obj名称。可能你需要使用HashMap<String, Customer>
,其中name是键,值是对象。
Map<String, Customer> map = new HashMap<>();
添加map.put("yourName", obj);
获取map.pget("yourName");