我正在尝试编写一个类机器人,模拟在无限平面上游荡的机器人。机器人位于具有整数坐标的点,面向北,东,南或西。我需要提供方法public void turnLeft(),public void turnRight(),public void move(),public Point getLocation(),public String getDirection() 这就是我所拥有的:
import java.awt.Point;
public class Robot
{
public static void main (String [] args){
Point location;
char direction;
public Robot()
{
location = new Point();
char direction = 'N';
}
public void turnLeft()
{
char direction = 'S';
}
public void turnRight()
{
char direction = 'E';
}
public void move()
{
switch(direction)
{
case turnLeft():
{
break;
}
case turnRight():
{
break;
}
}
}
public Point getLocation()
{
return location;
}
public String getDirection()
{
return direction;
}
}
}
但是我知道我在移动方法上做错了。
答案 0 :(得分:0)
turnLeft()
和turnRight()
的返回类型为void
(这意味着它不会返回任何内容),因此您绝对无法在切换案例中使用它们-表达。你必须在一个案例背后加上一个值,而一个空白绝对没有。'a'
,"hello world"
,3
,4.0f
或使用static
关键字定义的常量。 (如果要使用非静态值,请使用if)而且:想想你想做什么。
您真的想检查某个功能的结果,还是想检查每个可能的方向('N'
,'S'
,'E'
,'W'
)?如果是这样,你必须切换它们。 (我还建议将它们定义为public static char N='N'
等;这会阻止您输入无效的方向,因为您的IDE会指出错误。更好的是使用enum
)
我不想听起来很粗鲁,但你似乎对java不太了解,所以我建议你至少要学习一些这种语言的基础知识。