本帖最后由 lujun54nilaopo 于 2012-05-03 23:50:11 编辑

解决方案 »

  1.   

    System.out.println(Deng(c1, c2));
    System.out.println(EquMao(c1, c1));
      

  2.   


    @Override
    public boolean equals(Object obj) {
    if (this == obj) {//同一对象直接返回true
    return true;
    }
    if (obj instanceof Cat) {//是不是 Cat 的实例,如果是,强转类型
    Cat cat = (Cat) obj;
    if (cat.color.equals(this.color) && cat.height == this.height
    && cat.weight == this.height) {//属性相同,则为equals
    return true;
    }
    }
    return false;
    }
      

  3.   

    看来我答非所问了,没有输出结果是因为你么有打印public class Cat {
    /**
     * @author
     */
    private String color;
    private int height;
    private int weight; Cat(String color, int height, int weight) {
    this.color = color;
    this.height = height;
    this.weight = weight;
    } public static String Deng(Cat a, Cat b) {
    if (a == b) {
    return "C1==C2";
    } else {
    return "C1!=C2";
    }
    } public static String EquMao(Cat c, Cat d) {
    if (c.equals(d)) {
    return "C1 Equals C2";
    } else {
    return "C1 is not Equals C2";
    }
    } @Override
    public boolean equals(Object obj) {
    if (this == obj) {//同一对象直接返回true
    return true;
    }
    if (obj instanceof Cat) {//是不是 Cat 的实例,如果是,强转类型
    Cat cat = (Cat) obj;
    if (cat.color.equals(this.color) && cat.height == this.height
    && cat.weight == this.height) {//属性相同,则为equals
    return true;
    }
    }
    return false;
    } public static void main(String[] args) {
    // TODO Auto-generated method stub
    Cat c1 = new Cat("Blue", 5, 6);
    Cat c2 = new Cat("Blue", 5, 6);
    System.out.println(Deng(c1, c2));
    System.out.println(EquMao(c1, c1));
    }
    }
      

  4.   

    问题是根本他没调用输出函数输出,怎么来的输出呢,还在这里给他equal方法,他根本就没法看懂啥意思了。
      

  5.   

    你都没有 System.out.println() ;怎么有输出啊 
    #4楼 正确
      

  6.   

    System.out.println();这都没有,即使是大牛也没有办法输出啊  
      

  7.   

    首先 没输出   再者你的比较未必能达到你想要的效果  你还要重写equals() 方法
      

  8.   

    呵呵,确实,没有输出。随便找本java的书,在前两章就有的。
    System.out.println(Deng(c1, c2));
    System.out.println(EquMao(c1, c1));
      

  9.   

    最主要问题是没有写输出,其次是没有重写equals方法,4楼的重写equals方法好像少了一个判断不能为空了,而第一个判断是否指向同一个引用有些多余,如果是指向同一个引用就必然equals了,
      

  10.   

    没有System.out.println() ,怎么输出
      

  11.   

    让大家见笑了,但还是总结一下:混淆了return和Println。没有重写equals方法,多谢大家批评指正,我会加油的。
      

  12.   

    <dt>java vode</dt>
    <div>输出都没有 结果你是看不到的</div>
      

  13.   

    你跟我一样,混淆了return和Println......
      

  14.   

    呵呵,你只调用了方法,但是没有定义一个变量接收它的值。而且没有把它打印出来。         String str1 =Deng(c1, c2);
            String str2 =EquMao(c1, c1);
            System.out.println(str1);
            System.out.println(str2);这样就可以看见了~
      

  15.   

    哦 初学者经常犯这种错误。。
    你只要加上输出操作就行。
    System.out.println(Deng(c1, c2));
    System.out.println(EquMao(c1, c1));
    继续努力。。
      

  16.   

    汗,我还看把整个代码看了一遍,连System.out.println();都还怎么能打印出来