任务是创建一个 Wallet 类,您可以在其中创建成员并在他们之间转账。然后用户可以选择谁给钱,谁收钱。下面是一些相关代码:
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));
您可以从 map 上按名称查找钱包。
Wallet wallet1 = wallets.get("Adam");
Wallet wallet2 = wallets.get("Clark");
wallet1.transfer(wallet2, 200);
请注意,对象没有名称 - 变量有名称。对象不是变量;变量是对对象的引用。您可以有多个引用同一对象的变量。
关于来自用户输入的 Java 对象名称作为方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13743637/