24小时热门版块排行榜    

查看: 353  |  回复: 0

qiaomaibing

铜虫 (初入文坛)

[求助] 请大神帮看下我这个代码有什么问题,运行的时候换一个地图就不行了,,,,

这是网易公开课中《编程方法学》其中一项作业,让Karel找到地图中点并放下一个方块,我写的代码换一个地图就不起作用了
本人Java小白,自学中,请各位虫友帮忙找下漏洞,,,

/*
* File: MidpointFindingKarel.java
* -------------------------------
* When you finish writing it, the MidpointFindingKarel class should
* leave a beeper on the corner closest to the center of 1st Street
* (or either of the two central corners if 1st Street has an even
* number of corners).  Karel can put down additional beepers as it
* looks for the midpoint, but must pick them up again before it
* stops.  The world may be of any size, but you are allowed to
* assume that it is at least as tall as it is wide.
*/

import stanford.karel.*;

public class MidpointFindingKarel extends SuperKarel {

        int i=1;
        public void run() {               
                countWid();
                turnAround();
                moveToMid();
                putBeeper();
        }
        private void countWid() {
                while (frontIsClear()) {                       
                        move();
                        i=i+1;
                }               
        }
        private void moveToMid() {
                double x=i/2.0;
                if (i%2==0) {
                        for (int j=1;j<x;j++) {
                                move();
                        }
                        putBeeper();
                        move();
                } else {
                        for (int j=1; j<x;j++) {
                                move();
                        }                       
                }
        }
       
}

请大神帮看下我这个代码有什么问题,运行的时候换一个地图就不行了,,,,
初始界面.png


请大神帮看下我这个代码有什么问题,运行的时候换一个地图就不行了,,,,-1
换一个地图后.png


请大神帮看下我这个代码有什么问题,运行的时候换一个地图就不行了,,,,-2
运行程序后.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qiaomaibing 的主题更新
信息提示
请填处理意见