而不是返回类名,返回内存地址

Ben*_*iss 3 java

我想让两支队伍互相比赛.当我说team1.play(team2)时我称之为; 当我生成一个小于0.5的数字时,team2应该获胜,如果它大于0.5,那么第1队应该获胜.当1队获胜时,它会正确显示为尼克斯,但是当team2获胜时,它会显示内存地址.我如何才能正确地说网队赢了而不是球队@ 78987neu73

public class teams{
    public static void main(String [] argv){
        team team1 = new team("knicks");
        team team2 = new team("nets");
        team1.lose();
        team2.win();
        team2.lose();
        team2.printrecord();
        team1.play(team2);
    }//main
}//teams

class team{
    int wins; 
    int losses;
    String name;

    public team(String n){
        name = n;
        wins = losses = 0;
    }//constructor

    public void lose(){
        losses++;
    }//losses

    public void win(){
        wins++;
    }//wins

    public void printrecord(){
        System.out.println("W-L: " +wins+"-"+losses);
    }

    public void play(team j){
        if((Math.random())<0.5){
            System.out.println("The "+j+" Have Won!");
        }//if
        else 
            System.out.println("The "+name+" Have Won!");
    }

}
Run Code Online (Sandbox Code Playgroud)

sha*_*zin 5

您需要在team课程中进行以下两项修改

public String getName() {
    return name;
}

public void play(team j){
    if((Math.random())<0.5){
        System.out.println("The "+j.getName()+" Have Won!");
    }//if
    else 
        System.out.println("The "+name+" Have Won!");
}
Run Code Online (Sandbox Code Playgroud)