代码:
import java.io.*;
class Rabbit
{    int reprodution(int month)
  {
    int number=0;
 
    if(month<0)
     return 1;
    if(month<2)
     return number=1;
    if(month>2)
     number=(month-2)+(month-1);
     return number;
   }
}
class TestRabbit
  {
  public static void main(String args[])
  {
  
   Rabbit r1=new Rabbit();
   r1.reprodution(3);
   
   System.out.println("当免子在第三个月时,兔子对数为:"+r1);
  }
}
输出结果是:
D:\javacode>java TestRabbit
当免子在第三个月时,兔子对数为:Rabbit@c171D:\javacode>
大家帮帮忙。

解决方案 »

  1.   

    r1.reprodution(3);
    System.out.println("当免子在第三个月时,兔子对数为:"+r1);改为
    int n = r1.reprodution(3);
    System.out.println("当免子在第三个月时,兔子对数为:"+n);r1是兔子类,除非你重写toString方法,否则光打印r1就会是 类名+@+哈希值
    你的兔子类没有任何属性,所以重写toString方法也没意义,而reprodution方法有返回值,就是计算的结果,所以直接取得这个结果打印就可以了
      

  2.   

    改成这样:class Rabbit {    int reprodution(int month) {
            int number = 0;        if (month < 0) return 1;
            if (month < 2) return number = 1;
            if (month > 2) number = (month - 2) + (month - 1);
            return number;
        }
        
        public static void main(String args[]) {        Rabbit r1 = new Rabbit();        System.out.println("当免子在第三个月时,兔子对数为:" + r1.reprodution(3));
        }
    }你的main方法不在第一个class里面好像是这个原因,不是很确定
      

  3.   

    System.out.println("当免子在第三个月时,兔子对数为:" + r1.reprodution(3));