创建一个类并使用awt.point

时间:2018-02-25 22:38:20

标签: java class methods

我正在尝试编写一个类机器人,模拟在无限平面上游荡的机器人。机器人位于具有整数坐标的点,面向北,东,南或西。我需要提供方法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;
    }
}
}

但是我知道我在移动方法上做错了。

1 个答案:

答案 0 :(得分:0)

  1. 方法turnLeft()turnRight()的返回类型为void(这意味着它不会返回任何内容),因此您绝对无法在切换案例中使用它们-表达。你必须在一个案例背后加上一个值,而一个空白绝对没有。
  2. 案例仅接受静态值,例如'a'"hello world"34.0f或使用static关键字定义的常量。 (如果要使用非静态值,请使用if)
  3. 据我所知,你定义了main方法中属于class体内的构造函数,类成员和方法。
  4. 而且:想想你想做什么。 您真的想检查某个功能的结果,还是想检查每个可能的方向('N''S''E''W')?如果是这样,你必须切换它们。 (我还建议将它们定义为public static char N='N'等;这会阻止您输入无效的方向,因为您的IDE会指出错误。更好的是使用enum

    我不想听起来很粗鲁,但你似乎对java不太了解,所以我建议你至少要学习一些这种语言的基础知识。