Java-蚂蚁爬杆(面向对象编程思想)

Posted xanlv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-蚂蚁爬杆(面向对象编程思想)相关的知识,希望对你有一定的参考价值。

有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、18厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。
要求:用类模拟出蚂蚁的行为特性,进而模拟出五只蚂蚁在木杆上的运行过程来编程求解。不能通过数学的方式直接用公式计算。

public class Ant {

    private int pos;//蚂蚁的位置,每种情况开始走之前要初始化位置
    private boolean isLeft=true;//默认左
    private boolean isDown=false;//在细杆上

    private static int num;//蚂蚁数目
    private static int numOfDown=0;//在线记录每种情况有多少只蚂蚁已经离开
    private static int LEFT_END=0;//标记细杆的左端位置
    private static int RIGHT_END=27;//标记细杆的右端位置
    private static int minTime=Integer.MAX_VALUE,maxTime,time;//标记最小最大时间,以及每种情况走的时间
    public Ant(int pos) {//构造函数
        this.pos = pos;
    }
    public void step(int i){//蚂蚁怎样走

        if(!isDown){//判断蚂蚁是否在杆上
            if(isLeft){//向左向右走并记录时间
                pos-=i;
                time++;
            }else{
                pos+=i;
                time++;
            }
            if(pos<=LEFT_END||pos>=RIGHT_END){//判断蚂蚁离开杆

                isDown=true;//标记已不在细杆上
                numOfDown++;//离开的蚂蚁数量加1
                if(numOfDown==num){//如故所有的蚂蚁离开
                    if(minTime>time){
                        minTime=time;//判断是不是最小时间
                    }
                    if(maxTime<time){//判断是不是最大时间
                        maxTime=time;
                    }
//                  System.out.println("all down........minTime:"+minTime+",maxTime:"+maxTime);//每种情况标记此种情况已走完,并输出时间
                }
            }
        }
    }
    public static void setNum(int num) {//设置蚂蚁总数
        Ant.num = num;
    }
    public int getPos() {//获得蚂蚁位置,是否碰头或者撞头
        return pos;
    }
    public void setPos(int pos) {//每种情况初始化蚂蚁的位置
        this.pos = pos;
    }
    public boolean isLeft() {//判断蚂蚁是否会碰头,撞头
        return isLeft;
    }
    public void setLeft(boolean isLeft) {//对于每种情况蚂蚁的走向的设置,对碰头和撞头的处理
        this.isLeft = isLeft;
    }
    public boolean isIsDown() {//判断蚂蚁在线不
        return isDown;
    }
    public void setIsDown(boolean isDown) {//每种情况初始化为在线
        this.isDown = isDown;
    }
    public static boolean isOver() {//判断蚂蚁是否全部离开细杆
        return numOfDown==num;
    }
    public static void setNumOfDown(int numOfDown) {//初始化离杆蚂蚁的数量
        Ant.numOfDown = numOfDown;
    }
    public static void setTime(int time) {//初始化每种情况的时间
        Ant.time = time;
    }
    public void turnAround(){//撞头或碰头时的转向
        isLeft=!isLeft;
    }
    public static int getMinTime() {//用于所有情况走完输出最大最小时间
        return minTime;
    }
    public static int getMaxTime() {
        return maxTime;
    }



}
public class AntRun {
    public static void main(String[] args) {
        //创建蚂蚁
        int[] a={3,7,11,18,23};
        int numOfDirectionStates=1;//计算所有蚂蚁可能的朝向状态数(2的a.length次方种情况)
        Ant ants[]=new Ant[a.length];
        for(int i=0;i<a.length;i++){
            ants[i]=new Ant(a[i]);
            numOfDirectionStates*=2;//计算所有蚂蚁可能的朝向状态数(2的a.length次方种情况)
        }
        Ant.setNum(ants.length);//让蚂蚁在细杆上趴
        //把所有蚂蚁可能的朝向记录在数组里
        boolean directionStates[][]=new boolean[numOfDirectionStates][ants.length];
        for(int i=0;i<directionStates.length;i++){//标记每种情况蚂蚁的朝向
            directionStates[i][0]=(i & 0x01)==0;//十六进制
            directionStates[i][1]=(i & 0x02)==0;
            directionStates[i][2]=(i & 0x04)==0;
            directionStates[i][3]=(i & 0x08)==0;
            directionStates[i][4]=(i & 0x10)==0;//10:0是15,加一为16,进1,变成10
        }
        for (int i = 0; i < directionStates.length; i++) {
            Ant.setNumOfDown(0);
            Ant.setTime(0);
            //给每只蚂蚁设置朝向,初始位置,是否在细杆上
            for(int j=0;j<directionStates[i].length;j++){
                ants[j].setLeft(directionStates[i][j]);
                ants[j].setPos(a[j]);
                ants[j].setIsDown(false);
            }
//          System.out.print("走之前:");
//          print(ants);//走之前打印现在的位置
            while (!Ant.isOver()) {
                for (int j = 0; j < a.length; j++) {//先让每只蚂蚁走一步
                    ants[j].step(1);
                }
//              System.out.print("走之后:");
//              print(ants);//走完打印位置
                //判断是否碰头
                for(int j=0;j<ants.length-1;j++){
                    //碰头只可能发生在左边那只向右,右边向左的情况---且都在细杆上
                    if(!ants[j].isLeft() && ants[j+1].isLeft() && !ants[j].isIsDown() && !ants[j+1].isIsDown()){
                        //根据位置判断:碰头撞头
                        //1碰头--换方向
                        if(ants[j].getPos()==ants[j+1].getPos()){
//                          System.out.println("碰头..");
                            ants[j].turnAround();
                            ants[j+1].turnAround();
                        }
                        //2撞头--回退一步且换方向
                        if(ants[j].getPos()>ants[j+1].getPos()){
//                          System.out.println("撞头..");
                            ants[j].step(-1);
                            ants[j+1].step(-1);
                            ants[j].turnAround();
                            ants[j+1].turnAround();
                        }
                    }
                }
            }
        }
        System.out.println("minTime is:"+Ant.getMinTime()+"maxTime is:"+Ant.getMaxTime());//所有情况遍历完打印最小最大时间
    }
    //打印蚂蚁的位置方法
    private static void print(Ant ants[]){
        for(int i=0;i<ants.length;i++){
            if(i<ants.length-1){
                System.out.print(ants[i].getPos()+",");
            }else{
                System.out.println(ants[i].getPos());
            }

        }
    }

}

运行结果:
走之前:3,7,11,18,23
走之后:2,6,10,17,22
走之后:1,5,9,16,21
走之后:0,4,8,15,20
走之后:0,3,7,14,19
走之后:0,2,6,13,18
走之后:0,1,5,12,17
走之后:0,0,4,11,16
走之后:0,0,3,10,15
走之后:0,0,2,9,14
走之后:0,0,1,8,13
走之后:0,0,0,7,12
走之后:0,0,0,6,11
走之后:0,0,0,5,10
走之后:0,0,0,4,9
走之后:0,0,0,3,8
走之后:0,0,0,2,7
走之后:0,0,0,1,6
走之后:0,0,0,0,5
走之后:0,0,0,0,4
走之后:0,0,0,0,3
走之后:0,0,0,0,2
走之后:0,0,0,0,1
all down……..minTime:62,maxTime:62
走之后:0,0,0,0,0
走之前:3,7,11,18,23
走之后:4,6,10,17,22
走之后:5,5,9,16,21
走之后:4,6,8,15,20
走之后:3,7,7,14,19
走之后:2,6,8,13,18
走之后:1,5,9,12,17
走之后:0,4,10,11,16
走之后:0,3,11,10,15
走之后:0,2,9,12,14
走之后:0,1,8,13,13
走之后:0,0,7,12,14
走之后:0,0,6,11,15
走之后:0,0,5,10,16
走之后:0,0,4,9,17
走之后:0,0,3,8,18
走之后:0,0,2,7,19
走之后:0,0,1,6,20
走之后:0,0,0,5,21
走之后:0,0,0,4,22
走之后:0,0,0,3,23
走之后:0,0,0,2,24
走之后:0,0,0,1,25
走之后:0,0,0,0,26
all down……..minTime:62,maxTime:85
走之后:0,0,0,0,27
走之前:3,7,11,18,23
走之后:2,8,10,17,22
走之后:1,9,9,16,21
走之后:0,8,10,15,20
走之后:0,7,11,14,19
走之后:0,6,12,13,18
走之后:0,5,13,12,17
走之后:0,4,11,14,16
走之后:0,3,10,15,15
走之后:0,2,9,14,16
走之后:0,1,8,13,17
走之后:0,0,7,12,18
走之后:0,0,6,11,19
走之后:0,0,5,10,20
走之后:0,0,4,9,21
走之后:0,0,3,8,22
走之后:0,0,2,7,23
走之后:0,0,1,6,24
走之后:0,0,0,5,25
走之后:0,0,0,4,26
走之后:0,0,0,3,27
走之后:0,0,0,2,27
走之后:0,0,0,1,27
all down……..minTime:62,maxTime:85
走之后:0,0,0,0,27
走之前:3,7,11,18,23
走之后:4,8,10,17,22
走之后:5,9,9,16,21
走之后:6,8,10,15,20
走之后:7,7,11,14,19
走之后:6,8,12,13,18
走之后:5,9,13,12,17
走之后:4,10,11,14,16
走之后:3,11,10,15,15
走之后:2,9,12,14,16
走之后:1,8,13,13,17
走之后:0,7,12,14,18
走之后:0,6,11,15,19
走之后:0,5,10,16,20
走之后:0,4,9,17,21
走之后:0,3,8,18,22
走之后:0,2,7,19,23
走之后:0,1,6,20,24
走之后:0,0,5,21,25
走之后:0,0,4,22,26
走之后:0,0,3,23,27
走之后:0,0,2,24,27
走之后:0,0,1,25,27
走之后:0,0,0,26,27
all down……..minTime:62,maxTime:100
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:2,6,12,17,22
走之后:1,5,13,16,21
走之后:0,4,14,15,20
走之后:0,3,15,14,19
走之后:0,2,13,16,18
走之后:0,1,12,17,17
走之后:0,0,11,16,18
走之后:0,0,10,15,19
走之后:0,0,9,14,20
走之后:0,0,8,13,21
走之后:0,0,7,12,22
走之后:0,0,6,11,23
走之后:0,0,5,10,24
走之后:0,0,4,9,25
走之后:0,0,3,8,26
走之后:0,0,2,7,27
走之后:0,0,1,6,27
走之后:0,0,0,5,27
走之后:0,0,0,4,27
走之后:0,0,0,3,27
走之后:0,0,0,2,27
走之后:0,0,0,1,27
all down……..minTime:62,maxTime:100
走之后:0,0,0,0,27
走之前:3,7,11,18,23
走之后:4,6,12,17,22
走之后:5,5,13,16,21
走之后:4,6,14,15,20
走之后:3,7,15,14,19
走之后:2,8,13,16,18
走之后:1,9,12,17,17
走之后:0,10,11,16,18
走之后:0,11,10,15,19
走之后:0,9,12,14,20
走之后:0,8,13,13,21
走之后:0,7,12,14,22
走之后:0,6,11,15,23
走之后:0,5,10,16,24
走之后:0,4,9,17,25
走之后:0,3,8,18,26
走之后:0,2,7,19,27
走之后:0,1,6,20,27
走之后:0,0,5,21,27
走之后:0,0,4,22,27
走之后:0,0,3,23,27
走之后:0,0,2,24,27
走之后:0,0,1,25,27
走之后:0,0,0,26,27
all down……..minTime:62,maxTime:100
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:2,8,12,17,22
走之后:1,9,13,16,21
走之后:0,10,14,15,20
走之后:0,11,15,14,19
走之后:0,12,13,16,18
走之后:0,13,12,17,17
走之后:0,11,14,16,18
走之后:0,10,15,15,19
走之后:0,9,14,16,20
走之后:0,8,13,17,21
走之后:0,7,12,18,22
走之后:0,6,11,19,23
走之后:0,5,10,20,24
走之后:0,4,9,21,25
走之后:0,3,8,22,26
走之后:0,2,7,23,27
走之后:0,1,6,24,27
走之后:0,0,5,25,27
走之后:0,0,4,26,27
走之后:0,0,3,27,27
走之后:0,0,2,27,27
走之后:0,0,1,27,27
all down……..minTime:62,maxTime:100
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:4,8,12,17,22
走之后:5,9,13,16,21
走之后:6,10,14,15,20
走之后:7,11,15,14,19
走之后:8,12,13,16,18
走之后:9,13,12,17,17
走之后:10,11,14,16,18
走之后:11,10,15,15,19
走之后:9,12,14,16,20
走之后:8,13,13,17,21
走之后:7,12,14,18,22
走之后:6,11,15,19,23
走之后:5,10,16,20,24
走之后:4,9,17,21,25
走之后:3,8,18,22,26
走之后:2,7,19,23,27
走之后:1,6,20,24,27
走之后:0,5,21,25,27
走之后:0,4,22,26,27
走之后:0,3,23,27,27
走之后:0,2,24,27,27
走之后:0,1,25,27,27
走之后:0,0,26,27,27
all down……..minTime:62,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:2,6,10,19,22
走之后:1,5,9,20,21
走之后:0,4,8,21,20
走之后:0,3,7,19,22
走之后:0,2,6,18,23
走之后:0,1,5,17,24
走之后:0,0,4,16,25
走之后:0,0,3,15,26
走之后:0,0,2,14,27
走之后:0,0,1,13,27
走之后:0,0,0,12,27
走之后:0,0,0,11,27
走之后:0,0,0,10,27
走之后:0,0,0,9,27
走之后:0,0,0,8,27
走之后:0,0,0,7,27
走之后:0,0,0,6,27
走之后:0,0,0,5,27
走之后:0,0,0,4,27
走之后:0,0,0,3,27
走之后:0,0,0,2,27
走之后:0,0,0,1,27
all down……..minTime:55,maxTime:107
走之后:0,0,0,0,27
走之前:3,7,11,18,23
走之后:4,6,10,19,22
走之后:5,5,9,20,21
走之后:4,6,8,21,20
走之后:3,7,7,19,22
走之后:2,6,8,18,23
走之后:1,5,9,17,24
走之后:0,4,10,16,25
走之后:0,3,11,15,26
走之后:0,2,12,14,27
走之后:0,1,13,13,27
走之后:0,0,12,14,27
走之后:0,0,11,15,27
走之后:0,0,10,16,27
走之后:0,0,9,17,27
走之后:0,0,8,18,27
走之后:0,0,7,19,27
走之后:0,0,6,20,27
走之后:0,0,5,21,27
走之后:0,0,4,22,27
走之后:0,0,3,23,27
走之后:0,0,2,24,27
走之后:0,0,1,25,27
走之后:0,0,0,26,27
all down……..minTime:55,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:2,8,10,19,22
走之后:1,9,9,20,21
走之后:0,8,10,21,20
走之后:0,7,11,19,22
走之后:0,6,12,18,23
走之后:0,5,13,17,24
走之后:0,4,14,16,25
走之后:0,3,15,15,26
走之后:0,2,14,16,27
走之后:0,1,13,17,27
走之后:0,0,12,18,27
走之后:0,0,11,19,27
走之后:0,0,10,20,27
走之后:0,0,9,21,27
走之后:0,0,8,22,27
走之后:0,0,7,23,27
走之后:0,0,6,24,27
走之后:0,0,5,25,27
走之后:0,0,4,26,27
走之后:0,0,3,27,27
走之后:0,0,2,27,27
走之后:0,0,1,27,27
all down……..minTime:55,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:4,8,10,19,22
走之后:5,9,9,20,21
走之后:6,8,10,21,20
走之后:7,7,11,19,22
走之后:6,8,12,18,23
走之后:5,9,13,17,24
走之后:4,10,14,16,25
走之后:3,11,15,15,26
走之后:2,12,14,16,27
走之后:1,13,13,17,27
走之后:0,12,14,18,27
走之后:0,11,15,19,27
走之后:0,10,16,20,27
走之后:0,9,17,21,27
走之后:0,8,18,22,27
走之后:0,7,19,23,27
走之后:0,6,20,24,27
走之后:0,5,21,25,27
走之后:0,4,22,26,27
走之后:0,3,23,27,27
走之后:0,2,24,27,27
走之后:0,1,25,27,27
走之后:0,0,26,27,27
all down……..minTime:55,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:2,6,12,19,22
走之后:1,5,13,20,21
走之后:0,4,14,21,20
走之后:0,3,15,19,22
走之后:0,2,16,18,23
走之后:0,1,17,17,24
走之后:0,0,16,18,25
走之后:0,0,15,19,26
走之后:0,0,14,20,27
走之后:0,0,13,21,27
走之后:0,0,12,22,27
走之后:0,0,11,23,27
走之后:0,0,10,24,27
走之后:0,0,9,25,27
走之后:0,0,8,26,27
走之后:0,0,7,27,27
走之后:0,0,6,27,27
走之后:0,0,5,27,27
走之后:0,0,4,27,27
走之后:0,0,3,27,27
走之后:0,0,2,27,27
走之后:0,0,1,27,27
all down……..minTime:55,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:4,6,12,19,22
走之后:5,5,13,20,21
走之后:4,6,14,21,20
走之后:3,7,15,19,22
走之后:2,8,16,18,23
走之后:1,9,17,17,24
走之后:0,10,16,18,25
走之后:0,11,15,19,26
走之后:0,12,14,20,27
走之后:0,13,13,21,27
走之后:0,12,14,22,27
走之后:0,11,15,23,27
走之后:0,10,16,24,27
走之后:0,9,17,25,27
走之后:0,8,18,26,27
走之后:0,7,19,27,27
走之后:0,6,20,27,27
走之后:0,5,21,27,27
走之后:0,4,22,27,27
走之后:0,3,23,27,27
走之后:0,2,24,27,27
走之后:0,1,25,27,27
走之后:0,0,26,27,27
all down……..minTime:55,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:2,8,12,19,22
走之后:1,9,13,20,21
走之后:0,10,14,21,20
走之后:0,11,15,19,22
走之后:0,12,16,18,23
走之后:0,13,17,17,24
走之后:0,14,16,18,25
走之后:0,15,15,19,26
走之后:0,14,16,20,27
走之后:0,13,17,21,27
走之后:0,12,18,22,27
走之后:0,11,19,23,27
走之后:0,10,20,24,27
走之后:0,9,21,25,27
走之后:0,8,22,26,27
走之后:0,7,23,27,27
走之后:0,6,24,27,27
走之后:0,5,25,27,27
走之后:0,4,26,27,27
走之后:0,3,27,27,27
走之后:0,2,27,27,27
走之后:0,1,27,27,27
all down……..minTime:55,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:4,8,12,19,22
走之后:5,9,13,20,21
走之后:6,10,14,21,20
走之后:7,11,15,19,22
走之后:8,12,16,18,23
走之后:9,13,17,17,24
走之后:10,14,16,18,25
走之后:11,15,15,19,26
走之后:12,14,16,20,27
走之后:13,13,17,21,27
走之后:12,14,18,22,27
走之后:11,15,19,23,27
走之后:10,16,20,24,27
走之后:9,17,21,25,27
走之后:8,18,22,26,27
走之后:7,19,23,27,27
走之后:6,20,24,27,27
走之后:5,21,25,27,27
走之后:4,22,26,27,27
走之后:3,23,27,27,27
走之后:2,24,27,27,27
走之后:1,25,27,27,27
走之后:0,26,27,27,27
all down……..minTime:55,maxTime:107
走之后:0,27,27,27,27
走之前:3,7,11,18,23
走之后:2,6,10,17,24
走之后:1,5,9,16,25
走之后:0,4,8,15,26
走之后:0,3,7,14,27
走之后:0,2,6,13,27
走之后:0,1,5,12,27
走之后:0,0,4,11,27
走之后:0,0,3,10,27
走之后:0,0,2,9,27
走之后:0,0,1,8,27
走之后:0,0,0,7,27
走之后:0,0,0,6,27
走之后:0,0,0,5,27
走之后:0,0,0,4,27
走之后:0,0,0,3,27
走之后:0,0,0,2,27
走之后:0,0,0,1,27
all down……..minTime:43,maxTime:107
走之后:0,0,0,0,27
走之前:3,7,11,18,23
走之后:4,6,10,17,24
走之后:5,5,9,16,25
走之后:4,6,8,15,26
走之后:3,7,7,14,27
走之后:2,6,8,13,27
走之后:1,5,9,12,27
走之后:0,4,10,11,27
走之后:0,3,11,10,27
走之后:0,2,9,12,27
走之后:0,1,8,13,27
走之后:0,0,7,14,27
走之后:0,0,6,15,27
走之后:0,0,5,16,27
走之后:0,0,4,17,27
走之后:0,0,3,18,27
走之后:0,0,2,19,27
走之后:0,0,1,20,27
走之后:0,0,0,21,27
走之后:0,0,0,22,27
走之后:0,0,0,23,27
走之后:0,0,0,24,27
走之后:0,0,0,25,27
走之后:0,0,0,26,27
all down……..minTime:43,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:2,8,10,17,24
走之后:1,9,9,16,25
走之后:0,8,10,15,26
走之后:0,7,11,14,27
走之后:0,6,12,13,27
走之后:0,5,13,12,27
走之后:0,4,11,14,27
走之后:0,3,10,15,27
走之后:0,2,9,16,27
走之后:0,1,8,17,27
走之后:0,0,7,18,27
走之后:0,0,6,19,27
走之后:0,0,5,20,27
走之后:0,0,4,21,27
走之后:0,0,3,22,27
走之后:0,0,2,23,27
走之后:0,0,1,24,27
走之后:0,0,0,25,27
走之后:0,0,0,26,27
all down……..minTime:43,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:4,8,10,17,24
走之后:5,9,9,16,25
走之后:6,8,10,15,26
走之后:7,7,11,14,27
走之后:6,8,12,13,27
走之后:5,9,13,12,27
走之后:4,10,11,14,27
走之后:3,11,10,15,27
走之后:2,9,12,16,27
走之后:1,8,13,17,27
走之后:0,7,14,18,27
走之后:0,6,15,19,27
走之后:0,5,16,20,27
走之后:0,4,17,21,27
走之后:0,3,18,22,27
走之后:0,2,19,23,27
走之后:0,1,20,24,27
走之后:0,0,21,25,27
走之后:0,0,22,26,27
走之后:0,0,23,27,27
走之后:0,0,24,27,27
走之后:0,0,25,27,27
走之后:0,0,26,27,27
all down……..minTime:43,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:2,6,12,17,24
走之后:1,5,13,16,25
走之后:0,4,14,15,26
走之后:0,3,15,14,27
走之后:0,2,13,16,27
走之后:0,1,12,17,27
走之后:0,0,11,18,27
走之后:0,0,10,19,27
走之后:0,0,9,20,27
走之后:0,0,8,21,27
走之后:0,0,7,22,27
走之后:0,0,6,23,27
走之后:0,0,5,24,27
走之后:0,0,4,25,27
走之后:0,0,3,26,27
走之后:0,0,2,27,27
走之后:0,0,1,27,27
all down……..minTime:43,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:4,6,12,17,24
走之后:5,5,13,16,25
走之后:4,6,14,15,26
走之后:3,7,15,14,27
走之后:2,8,13,16,27
走之后:1,9,12,17,27
走之后:0,10,11,18,27
走之后:0,11,10,19,27
走之后:0,9,12,20,27
走之后:0,8,13,21,27
走之后:0,7,14,22,27
走之后:0,6,15,23,27
走之后:0,5,16,24,27
走之后:0,4,17,25,27
走之后:0,3,18,26,27
走之后:0,2,19,27,27
走之后:0,1,20,27,27
走之后:0,0,21,27,27
走之后:0,0,22,27,27
走之后:0,0,23,27,27
走之后:0,0,24,27,27
走之后:0,0,25,27,27
走之后:0,0,26,27,27
all down……..minTime:43,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:2,8,12,17,24
走之后:1,9,13,16,25
走之后:0,10,14,15,26
走之后:0,11,15,14,27
走之后:0,12,13,16,27
走之后:0,13,12,17,27
走之后:0,11,14,18,27
走之后:0,10,15,19,27
走之后:0,9,16,20,27
走之后:0,8,17,21,27
走之后:0,7,18,22,27
走之后:0,6,19,23,27
走之后:0,5,20,24,27
走之后:0,4,21,25,27
走之后:0,3,22,26,27
走之后:0,2,23,27,27
走之后:0,1,24,27,27
走之后:0,0,25,27,27
走之后:0,0,26,27,27
all down……..minTime:43,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:4,8,12,17,24
走之后:5,9,13,16,25
走之后:6,10,14,15,26
走之后:7,11,15,14,27
走之后:8,12,13,16,27
走之后:9,13,12,17,27
走之后:10,11,14,18,27
走之后:11,10,15,19,27
走之后:9,12,16,20,27
走之后:8,13,17,21,27
走之后:7,14,18,22,27
走之后:6,15,19,23,27
走之后:5,16,20,24,27
走之后:4,17,21,25,27
走之后:3,18,22,26,27
走之后:2,19,23,27,27
走之后:1,20,24,27,27
走之后:0,21,25,27,27
走之后:0,22,26,27,27
走之后:0,23,27,27,27
走之后:0,24,27,27,27
走之后:0,25,27,27,27
走之后:0,26,27,27,27
all down……..minTime:43,maxTime:107
走之后:0,27,27,27,27
走之前:3,7,11,18,23
走之后:2,6,10,19,24
走之后:1,5,9,20,25
走之后:0,4,8,21,26
走之后:0,3,7,22,27
走之后:0,2,6,23,27
走之后:0,1,5,24,27
走之后:0,0,4,25,27
走之后:0,0,3,26,27
走之后:0,0,2,27,27
走之后:0,0,1,27,27
all down……..minTime:34,maxTime:107
走之后:0,0,0,27,27
走之前:3,7,11,18,23
走之后:4,6,10,19,24
走之后:5,5,9,20,25
走之后:4,6,8,21,26
走之后:3,7,7,22,27
走之后:2,6,8,23,27
走之后:1,5,9,24,27
走之后:0,4,10,25,27
走之后:0,3,11,26,27
走之后:0,2,12,27,27
走之后:0,1,13,27,27
走之后:0,0,14,27,27
走之后:0,0,15,27,27
走之后:0,0,16,27,27
走之后:0,0,17,27,27
走之后:0,0,18,27,27
走之后:0,0,19,27,27
走之后:0,0,20,27,27
走之后:0,0,21,27,27
走之后:0,0,22,27,27
走之后:0,0,23,27,27
走之后:0,0,24,27,27
走之后:0,0,25,27,27
走之后:0,0,26,27,27
all down……..minTime:34,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:2,8,10,19,24
走之后:1,9,9,20,25
走之后:0,8,10,21,26
走之后:0,7,11,22,27
走之后:0,6,12,23,27
走之后:0,5,13,24,27
走之后:0,4,14,25,27
走之后:0,3,15,26,27
走之后:0,2,16,27,27
走之后:0,1,17,27,27
走之后:0,0,18,27,27
走之后:0,0,19,27,27
走之后:0,0,20,27,27
走之后:0,0,21,27,27
走之后:0,0,22,27,27
走之后:0,0,23,27,27
走之后:0,0,24,27,27
走之后:0,0,25,27,27
走之后:0,0,26,27,27
all down……..minTime:34,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:4,8,10,19,24
走之后:5,9,9,20,25
走之后:6,8,10,21,26
走之后:7,7,11,22,27
走之后:6,8,12,23,27
走之后:5,9,13,24,27
走之后:4,10,14,25,27
走之后:3,11,15,26,27
走之后:2,12,16,27,27
走之后:1,13,17,27,27
走之后:0,14,18,27,27
走之后:0,15,19,27,27
走之后:0,16,20,27,27
走之后:0,17,21,27,27
走之后:0,18,22,27,27
走之后:0,19,23,27,27
走之后:0,20,24,27,27
走之后:0,21,25,27,27
走之后:0,22,26,27,27
走之后:0,23,27,27,27
走之后:0,24,27,27,27
走之后:0,25,27,27,27
走之后:0,26,27,27,27
all down……..minTime:34,maxTime:107
走之后:0,27,27,27,27
走之前:3,7,11,18,23
走之后:2,6,12,19,24
走之后:1,5,13,20,25
走之后:0,4,14,21,26
走之后:0,3,15,22,27
走之后:0,2,16,23,27
走之后:0,1,17,24,27
走之后:0,0,18,25,27
走之后:0,0,19,26,27
走之后:0,0,20,27,27
走之后:0,0,21,27,27
走之后:0,0,22,27,27
走之后:0,0,23,27,27
走之后:0,0,24,27,27
走之后:0,0,25,27,27
走之后:0,0,26,27,27
all down……..minTime:34,maxTime:107
走之后:0,0,27,27,27
走之前:3,7,11,18,23
走之后:4,6,12,19,24
走之后:5,5,13,20,25
走之后:4,6,14,21,26
走之后:3,7,15,22,27
走之后:2,8,16,23,27
走之后:1,9,17,24,27
走之后:0,10,18,25,27
走之后:0,11,19,26,27
走之后:0,12,20,27,27
走之后:0,13,21,27,27
走之后:0,14,22,27,27
走之后:0,15,23,27,27
走之后:0,16,24,27,27
走之后:0,17,25,27,27
走之后:0,18,26,27,27
走之后:0,19,27,27,27
走之后:0,20,27,27,27
走之后:0,21,27,27,27
走之后:0,22,27,27,27
走之后:0,23,27,27,27
走之后:0,24,27,27,27
走之后:0,25,27,27,27
走之后:0,26,27,27,27
all down……..minTime:34,maxTime:107
走之后:0,27,27,27,27
走之前:3,7,11,18,23
走之后:2,8,12,19,24
走之后:1,9,13,20,25
走之后:0,10,14,21,26
走之后:0,11,15,22,27
走之后:0,12,16,23,27
走之后:0,13,17,24,27
走之后:0,14,18,25,27
走之后:0,15,19,26,27
走之后:0,16,20,27,27
走之后:0,17,21,27,27
走之后:0,18,22,27,27
走之后:0,19,23,27,27
走之后:0,20,24,27,27
走之后:0,21,25,27,27
走之后:0,22,26,27,27
走之后:0,23,27,27,27
走之后:0,24,27,27,27
走之后:0,25,27,27,27
走之后:0,26,27,27,27
all down……..minTime:34,maxTime:107
走之后:0,27,27,27,27
走之前:3,7,11,18,23
走之后:4,8,12,19,24
走之后:5,9,13,20,25
走之后:6,10,14,21,26
走之后:7,11,15,22,27
走之后:8,12,16,23,27
走之后:9,13,17,24,27
走之后:10,14,18,25,27
走之后:11,15,19,26,27
走之后:12,16,20,27,27
走之后:13,17,21,27,27
走之后:14,18,22,27,27
走之后:15,19,23,27,27
走之后:16,20,24,27,27
走之后:17,21,25,27,27
走之后:18,22,26,27,27
走之后:19,23,27,27,27
走之后:20,24,27,27,27
走之后:21,25,27,27,27
走之后:22,26,27,27,27
走之后:23,27,27,27,27
走之后:24,27,27,27,27
走之后:25,27,27,27,27
走之后:26,27,27,27,27
all down……..minTime:34,maxTime:107
走之后:27,27,27,27,27
minTime is:34maxTime is:107

以上是关于Java-蚂蚁爬杆(面向对象编程思想)的主要内容,如果未能解决你的问题,请参考以下文章

蚂蚁爬杆问题js实现

蚂蚁爬杆问题

关于java面向对象编程和面向接口编程区别

Java面向对象编程思想

VSCode自定义代码片段——JS中的面向对象编程

(翻译)《一》面向对象编程思想