非常简单的Java语法错误

Tri*_*ark 0 java methods

所以我试图创建一个非常简单的程序来练习一些基本的Java格式化技巧.然而,关于"fight()"的一些事情正在让我的编译器疯狂.谁知道为什么?提前感谢我收到的任何答案,代码如下:

class Hero{
    String name;
    int Intelligence;
    boolean parents;

    public static fight(Hero1, Hero2){
    if(Hero1.Intelligence>Hero2.Intelligence){
        return(Hero1.name+" is the winner");
    else
        return(Hero2.name+" is the winner");
        }
    }
}



class HeroMain{
    public static void main(String[] args){
    Hero Superman = new Hero();
    Superman.name = "Superman";
    Superman.Intelligence = 7;
    Superman.parents = false;

    Hero Batman = new Hero();
    Batman.name = "Batman";
    Batman.Intelligence = 8;
    Batman.parents = false;

    public fight(Superman, Batman);
    }
}
Run Code Online (Sandbox Code Playgroud)

La-*_*eja 5

你需要写

public static String fight(Hero hero1, Hero hero2) {
Run Code Online (Sandbox Code Playgroud)

您还需要调用fight()如下:

Hero.fight(Superman, Batman);
Run Code Online (Sandbox Code Playgroud)

此外,作为Java中的经验法则,您应该使用小写字母开始所有变量.这只是编码惯例.