gpt4 book ai didi

java - 从 Java 中的字符串数组的索引命名类的实例的问题

转载 作者:行者123 更新时间:2023-11-29 08:15:44 27 4
gpt4 key购买 nike

这是我的代码:

List<Player> l = new List<Player>();
String[] playerNumber = {"Red", "Green", "Blue", "Yellow" ,"Orange",
"Black", "Purple"};
for(int i = 0; i < numberOfPlayers; i++){
Player playerNumber[i] = new Player();
System.out.println(numberOfPlayers);
System.out.println(playerNumber[i]);
l.add(playerNumber[i]);
}

在第 5 行,我在 eclipse 中收到以下错误:

- Duplicate local variable playerNumber
- Debug Current Instruction Pointer
- Type mismatch: cannot convert from Player to Player[]
- Syntax error on token "i", delete this token
- The method add(Player) in the type List<Player> is not applicable for the arguments
(String)

如果我不能那样命名,我怎么能成功地给它们取不同的名字呢?

提前致谢 =)

最佳答案

String[] playerNumber = {"Red", "Green", "Blue", "Yellow" ,"Orange", "Black", "Purple"};
//...
Player playerNumber[i] = new Player();

您实际上想在这里完成什么? playerNumber 是一个字符串数组,而不是玩家。你能用英语说出你想做什么吗?我们将帮助您将其翻译成 Java。

编辑:

您可以通过两种方式在这里“命名”您的玩家。首先,您可以使用 map 将名称与玩家相关联:

Map<String, Player> players = new HashMap<String, Player>();
players.put("Red", new Player());
Player red = players.get("Red");

或者,如果您只想让您的 Player 类具有名称属性,您可以将其添加到您的类中:

public class Player {

//...
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}

//...
Player[] playerNumber = new Player[5];
playerNumber[0] = new Player();
playerNumber[0].setName("Red");

我不清楚你想如何使用这些名称,所以我不能说一个比另一个更好。然而,在上面,使用构造函数来指定名称可能更好,如@Peter Lawrey 的回答。

关于java - 从 Java 中的字符串数组的索引命名类的实例的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009219/

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