河内的循环塔无法正常工作

作为学校项目的一部分,我的任务是在Java中制作河内的循环塔,并在控制台上打印光盘的移动,并决定我将光盘从A顺时针移动到B,移动为A-> B-> C-> A,其配置如下:

A

C B

我决定递归地执行此操作,但是在8张光盘之后,光盘的移动停止了,并且跳过了光盘。 这是我在程序中使用的两种方法,我首先调用“顺时针”。

private static void AntiClockwise(int discs,char from,char to,char aux) { 

        if (discs==0) {
            System.out.print("");
        }
        else {
        AntiClockwise(discs-1,from,to,aux);
        System.out.println("Disc size " + discs + " moves from " + from + " to " + aux);
        Clockwise(discs-1,aux);
        System.out.println("Disc size " + discs + " moves from " + aux + " to " + to);
        AntiClockwise(discs-1,aux);
        }
    }

    private static void Clockwise(int discs,char aux,char to) {

        if (discs==0) {
            System.out.print("");
        }
        else {
        AntiClockwise(discs-1,aux);
        System.out.println("Disc size " + discs + " moves from " + from + " to " + aux);
        AntiClockwise(discs-1,aux,from);
        }
    }

我不知道如何解决这个问题,有什么建议吗?

oyangnann 回答:河内的循环塔无法正常工作

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2317799.html

大家都在问