第一段: class digui 
{
    private static int number=0;
    public static void main(String[] args) 
    {
        print();
    }
    public static void print()
    {
        if((number++)==5)
        {
            System.out.println("xing");
            print();
        }
    }
}
第二段: class digui 
{
    private static int number=0;
    public static void main(String[] args) 
    {
        print();
    }
    public static void print()
    {
        if((number++)==5)
        {
            return;
        }
        System.out.println("xing");
        print();
    }
}
第一段代码的运行结果是什么也没有输出,这是为什么呢? 第二段代码的运行结果是正常的,输出来五个xing. 

解决方案 »

  1.   

    第一段把 if((number++)==5)
    == 改成 <
      

  2.   

    代码:
                System.out.println("xing");
                print();
    在for里面还是在外面起着决定的作用;好像print()方法还调用了自己!有点怪@!
      

  3.   


    class digui 
    {
    private static int number=0;
    public static void main(String[] args) 
    {
    print();
    }
    public static void print()
    {
    while((number++)==5)
    {
    System.out.println("xing");
    print();
    }
    }
    }为什么不能是while((number++)==5)呢?