当前位置: 首页 > 知识库问答 >
问题:

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

西门嘉澍
2023-03-14

我试图让2支球队互相比赛。当我说团队1.玩(团队2)时,我称之为;当 i 生成的数字小于 0.5 时,team2 应获胜,如果大于 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!");
    }

}

共有3个答案

汪和悌
2023-03-14
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!");
}

在这里,“j”是一个对象,而不是一个字符串。使用 j.name 而不是 j。

微生青青
2023-03-14

您直接输入了j。尝试使用以下代码

public void play(team j){
        if((Math.random())<0.5){
            System.out.println("The "+j.name+" Have Won!");
        }//if
        else 
            System.out.println("The "+this.name+" Have Won!");
    }
逑阳泽
2023-03-14

您需要在团队类中进行以下两个修改

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!");
}
 类似资料:
  • 我写了自己的类加载器,它与类一起工作,实现了接口插件。但是我不能将类转换为插件。怎么了? 错误:(18,47)java:不兼容的类型:java。lang.类无法转换为插件 我补充说,这是我的SimpleClassLoader类的主要部分,它扩展了ClassLoader。

  • 我寻找如何在堆栈溢出的Java中进行IP查找,但答案与我已经在做的匹配,并没有解决我的问题。 问题:此代码与预期的一些IP广告,而不是与其他一些。 例如,对于IP 157.55.39.29,输出为: 根据Linux命令,此结果似乎是正确的: 返回: 此IP地址的完全限定域名,如果安全检查不允许此操作,则返回IP地址的文本表示形式。 但我很确定这不是安全检查的问题...或者我不明白出了什么问题。 你

  • 问题内容: 这是我的发件人实体 当我尝试执行以下查询时: 发生以下错误: 错误:org.hibernate.property.BasicPropertyAccessor- HHH000123:类中的IllegalArgumentException:be.gimme.persistence.entities.Sender,属性的设置方法:senderId 错误:org.hibernate.prope

  • 我正在使用Yaml(和Python!)第一次。我试图从一个.yaml文件中加载多个文档,但没有得到我所期望的结果。我正在期待一个包含每个文档的dicts的dict返回,但却得到了一个生成器对象...?我应该注意到,当我在前面的测试中对单个文档yaml文件使用yaml.load()(而不是load_all())时,我能够很好地取回一个字典。 ...产生以下终端输出:

  • await返回[Function]而不是value 尝试使用async和await函数从firebase返回查询的值。返回的结果是[Function]或未处理的承诺拒绝警告。async和await是新的承诺,但我在几个网站上尝试了基本的示例,大多数都有resolve和reject参数,我认为这应该与firebase的承诺相同。 我试了两个不同版本,结果都不正确。 返回UnhandledPromis

  • 代码段用于获取从文本文件中提取的一行文本,将其分离为单独的标记,并将每个标记存储在数组的索引中。起初我以为问题出在文本文件上,但是直接将字符串放入编辑器并不能解决这个问题。 使用字符串,如: 带分隔符的StringTokenizer对象返回前四个标记作为正确的字符串,但其余四个标记为null。 有趣的是,另一个字符串: “Gnollnonegeralany222taunttaunt” 鸡肉没有野兽