新手完成thinkJava书并试图找出练习的答案之一。它要求我下载“GridWorld”文件并完成以下步骤:
我被困在第3号,我无法弄清楚如何将n传递给“move()方法”
- 请帮助我是新手
我的代码:
import info.gridworld.actor.ActorWorld;
import info.gridworld.actor.Bug;
import info.gridworld.actor.Rock;
public class BugRunner
{
public static void main(String[] args)
{
ActorWorld world = new ActorWorld();
Bug redBug = new Bug();
world.add(redBug);
world.add(new Rock());
world.show();
moveBug(redBug,5);
System.out.println(redBug.getLocation());
}
public static void moveBug(Bug aBug, int n){
if(aBug.canMove() == true){
aBug.move();
} else {
aBug.turn();
}
}
}
答案 0 :(得分:0)
你的意思是你被困在第3位:
- 修改moveBug,使其获取一个整数n作为参数,并将错误移动n次(如果可以的话)。
醇>
这意味着写一个循环,循环n
次,每次迭代调用move()
一次,如果canMove()
返回true。
BTW:if (canMove() == true) {...}
是说if (canMove()) {...}
的漫长道路。
修复if
语句的缩进。
答案 1 :(得分:0)
感谢你指点我@Andreas 我的解决方案有效:
public static void moveBug(Bug aBug, int n){
for(int i = 0; i < n; i++){
if(aBug.canMove())
{
aBug.move();
} else {
aBug.turn();
}
}
}