gpt4 book ai didi

java - 如何对与对象同名的字符串使用点运算?

转载 作者:行者123 更新时间:2023-12-01 07:57:14 26 4
gpt4 key购买 nike

我有两个 Cat 对象

   Cat A = new Cat();
Cat B = new Cat();

然后我询问用户他想要修改哪只猫

   String choice = input.nextLine;

我想在 choice 上运行我的所有 Cat 实例方法并更改它引用的对象。例如:

   choice.drinkMilk(15, 2);

如果choice“A”,它将在猫A上执行drinkMilk(15, 2),如果它是“B” 它会在 B 上执行。

有什么办法可以做到这一点吗?

编辑:有没有办法在没有 HashMap 的情况下做到这一点?这是我的 Java 入门类(class),我们还没有学过。

最佳答案

当您创建猫对象时,将它们放入 HashMap 中:

Cat A = new Cat();
Cat B = new Cat();
Map<String, Cat> herd = new HashMap<String, Cat>();
herd.put("A", A);
herd.put("B", B);

然后,当用户从 A 或 B 中进行选择时,您可以检索适当的猫进行操作:

String choice = input.nextLine;
Cat selectedCat = herd.get(choice);
if(selectedCat != null) {
selectedCat.drinkMilk(15,2);
} else {
// user made a bad selection, so let them know
}

如果您无法使用 Map,那么您可以使用 if/else 解决方案:

String choice = input.nextLine;
if("A".equals(choice)) {
A.drinkMilk(15,2);
} else if("B".equals(choice)) {
B.drinkMilk(15,2);
} else {
// user made a bad selection, so let them know
}

关于java - 如何对与对象同名的字符串使用点运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com