"GridWorld" 用于 ThinkJava 练习 5.1
"GridWorld" for ThinkJava Exercise 5.1
新手完成 thinkJava 书并试图找出练习的答案之一。它要求我下载 "GridWorld" 文件并完成以下步骤:
- 编写一个名为 moveBug 的方法,将错误作为
参数并调用移动。通过从 main.
调用它来测试你的方法
- 修改 moveBug 使其调用 canMove 并仅在以下情况下移动虫子
可以。
- 修改moveBug,使其接受一个整数n作为参数,并且
将 bug 移动 n 次(如果可以的话)。
- 修改 moveBug,如果虫子不能移动,它会调用 turn。
我卡在数字 3 上了,我不知道如何将 n 传递给 "move() method"
-请帮助我是新手
我的代码:
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();
}
}
}
你的意思是你卡在了数字 3 上:
- Modify moveBug so that it takes an integer, n, as a parameter, and moves the bug n times (if it can).
意思是写一个循环,循环n
次,每次迭代调用move()
一次,if canMove()
returns true.
顺便说一句:if (canMove() == true) {...}
说起来很长 if (canMove()) {...}
。
并修复 if
语句的缩进。
谢谢你指点我@Andreas
我的解决方案有效:
public static void moveBug(Bug aBug, int n){
for(int i = 0; i < n; i++){
if(aBug.canMove())
{
aBug.move();
} else {
aBug.turn();
}
}
}
新手完成 thinkJava 书并试图找出练习的答案之一。它要求我下载 "GridWorld" 文件并完成以下步骤:
- 编写一个名为 moveBug 的方法,将错误作为 参数并调用移动。通过从 main. 调用它来测试你的方法
- 修改 moveBug 使其调用 canMove 并仅在以下情况下移动虫子 可以。
- 修改moveBug,使其接受一个整数n作为参数,并且 将 bug 移动 n 次(如果可以的话)。
- 修改 moveBug,如果虫子不能移动,它会调用 turn。
我卡在数字 3 上了,我不知道如何将 n 传递给 "move() method"
-请帮助我是新手
我的代码:
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();
}
}
}
你的意思是你卡在了数字 3 上:
- Modify moveBug so that it takes an integer, n, as a parameter, and moves the bug n times (if it can).
意思是写一个循环,循环n
次,每次迭代调用move()
一次,if canMove()
returns true.
顺便说一句:if (canMove() == true) {...}
说起来很长 if (canMove()) {...}
。
并修复 if
语句的缩进。
谢谢你指点我@Andreas 我的解决方案有效:
public static void moveBug(Bug aBug, int n){
for(int i = 0; i < n; i++){
if(aBug.canMove())
{
aBug.move();
} else {
aBug.turn();
}
}
}