我正在尝试为游戏编程AI,我希望能够为玩家设置不同的模式。
这是我在Type.java中的枚举:
public enum Type {
Human,Random,Minimax
}
这是player.java中的构造函数,用于设置播放器的类型:
public Player(String name, Type e ) {
this.name = name;
this.Type = e;
}
现在Eclipse说“类型无法解析或不是字段”。 我该怎么办?两个文件都在同一个包中。
答案 0 :(得分:2)
现在Eclipse说“类型无法解析或不是字段。”
这告诉你它遇到的问题是行中的this.Type = e;
// ^---- This one
:
Player
如果你还没有在private Type type;
中声明一个字段:
this.type = e;
...然后确保在构造函数中使用该字段的名称:
name
注意我在字段名称中使用了小写字母。这是Java中压倒性的约定,并且与您对字段$GLOBALS
所做的相匹配。
答案 1 :(得分:0)
您的播放器类似乎没有字段类型。
这样的事情会起作用
class Player {
String name;
Type e;
public Player(String name, Type e) {
this.name = name;
this.e = e;
}
}
答案 2 :(得分:0)
Main.java:
public class Main
{
public static void main(String[] args)
{
Player player = new Player( "test", Type.Human );
System.out.println( player.toString() );
}
}
Type.java
public enum Type {
Human, Random, Minimax
}
Player.java
public class Player
{
private String name;
private Type type;
public Player(String name, Type e)
{
this.name = name;
this.type = e;
}
public String toString()
{
return name + " " + type.toString();
}
}
如果你编译并运行它,toString将返回:
test Human