获得创建电子钱包类的任务,您可以在其中创建成员并在他们之间转移资金。然后,用户可以选择谁给钱以及谁接收钱。以下是一些相关代码:

Wallet adamsWallet = new Wallet("Adam", 403.50);
Wallet bentsWallet = new Wallet("Bent",  873);
Wallet clarksWallet = new Wallet("Clark", 319.50);


object_name_here.transfer(other_object_name_here, 200);


因此,我希望用户例如在扫描器中输入“ adam”,然后以某种方式将“ sWallet”附加到adam,然后将其用作方法调用的对象名称。

我该怎么做或有更好的方法呢?

最佳答案

使用Map存放钱包。例如:

Map<String, Wallet> wallets = new HashMap<>();

wallets.put("Adam", new Wallet("Adam", 403.50));
wallets.put("Bent", new Wallet("Bent",  873));
wallets.put("Clark", new Wallet("Clark", 319.50));


您可以从地图上按名称查找钱包。

Wallet wallet1 = wallets.get("Adam");
Wallet wallet2 = wallets.get("Clark");

wallet1.transfer(wallet2, 200);


请注意,对象没有名称-变量具有名称。对象不是变量。变量是对对象的引用。您可以有多个引用同一对象的变量。

关于java - 用户输入中的Java对象名称作为方法调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13743637/

10-11 00:54