【发布时间】:2014-09-15 01:59:29
【问题描述】:
我正在尝试让 2 支球队互相比赛。当我说 team1.play(team2); 当我生成一个小于 0.5 的数字时,团队 2 应该获胜,如果它大于 0.5,那么团队 1 应该获胜。队 1 获胜时,它正确显示为尼克斯队,但当队 2 获胜时,它显示内存地址。我怎样才能正确地说篮网赢了而不是team@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!");
}
}
【问题讨论】:
-
那不是内存地址。它是
hashCode()的值。
标签: java