这是题目

一队机器人漫游车将被美国宇航局降落在火星高原上。漫游车将在这个奇怪的长方形高原上巡游,以便他们的机载摄像头可以获得周围地形的完整视图,并将其发送回地球。漫游者的坐标和位置由x和y坐标的组合以及代表四个方向(E, S, W, N)的字母表示。高原划分为网格以简化导航。比如位置0,0,N,表示漫游车位于左下角并面向北。为了控制漫游车,美国宇航局发送一串简单的字母。指令字母是’L’,’R’和’M’。 ‘L’和’R’使漫游车分别向左或向右旋转90度,而不会从当前地点移动。 ‘M’表示前进一个网格点,并保持相同的方向。
假设从(x,y)直接向北移动,就到了(x,y + 1)。
INPUT:
第一行输入是平台的右上角坐标,左下角坐标被假定为0,0。
其余的输入是有关已部署的漫游车的信息。每个漫游车都有两行输入。第一行给出了漫游车的位置,第二行是告诉漫游车如何探索高原的一系列指令。位置由两个整数和一个由空格分隔的字母组成,对应于x和y坐标以及漫游车当前的方向。
每个漫游车将按顺序完成,这意味着第二个漫游车在第一个漫游车完成移动之前不会开始移动。
OUTPUT:
每个漫游车的输出应该是其最终的坐标和位置。

输入输出例子
输入:
5 5
1 2 N
LMLMLMLMM
3 3 E
MMRMMRMRRM
预期产出:
1 3 N
5 1 E

这是我的代码

这是mian类

package com.ad.core.main;

import com.ad.core.model.Car;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @program:demo
 * @author:aodeng
 * @create:2018-08-19 17:04
 **/
public class CarMain {
    static int Max_X;
    static int Max_Y;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        //创建车的集合
        List<Car> carlist=new ArrayList<Car>();
        //输入
        System.out.println("****请输入平台的右上角坐标:第一次输入X坐标,第二次输入Y坐标:");
        Max_X=sc.nextInt();
        Max_Y=sc.nextInt();
        System.out.println("平台右上角的坐标为:("+Max_X+","+Max_Y+"),确认请输入:true");
        while(sc.next().equals("true")){
            System.out.println("请输入车的坐标及方向,东南西北个方向,运动指令(E, S, W, N)的字母表示:");
            int x=sc.nextInt();
            if(x<0 || x>Max_X){
                System.out.println("坐标输入错误");
                return;
            }
            int y=sc.nextInt();
            if(y<0 || y>Max_Y){
                System.out.println("坐标输入错误");
                return;
            }
            String direction=sc.next();
            if(!("E".equals(direction)||"W".equals(direction)||"S".equals(direction)||"N".equals(direction))){
                System.out.println("方向输入错误");
            }
            String url=sc.next();
            if("".equals(url) || url.length()<0){
                System.out.println("运动路径输入错误");
                return;
            }
            System.out.println("车输入的坐标为:("+x+","+y+"),方向为:"+direction+",运动路径为:"+url);
            carRun(x,y,direction,carlist,url);
            for (int i=0;i<carlist.size();i++){
                System.out.println("x:"+carlist.get(i).getX()+"==y:"+carlist.get(i).getY()+"==方向:"+carlist.get(i).getDirection());
            }
            System.out.println("*********************继续请输入:true");
        }
    }
    //得到坐标并移动
    public static void carRun(int x,int y,String derection,List<Car> carlist,String url){
        //创建一个车的对象
        Car car=new Car();
        car.setX(x);
        car.setY(y);
        car.setDirection(derection);
        for (int i=0;i<url.length();i++){
            if("M".equals(String.valueOf(url.charAt(i)))){
                car.go();
            }
            if("L".equals(String.valueOf(url.charAt(i)))){
                car.left();
            }
            if("R".equals(String.valueOf(url.charAt(i)))){
                car.right();
            }
        }
        carlist.add(car);
        return;
    }
}

这是实体类

package com.ad.core.model;

/**
 * @program:demo
 * @author:aodeng
 * @create:2018-08-19 16:56
 **/
public class Car {
    private int x;
    private int y;
    private String direction;
    private int max_x;
    private int max_y;


    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public String getDirection() {
        return direction;
    }

    public void setDirection(String direction) {
        this.direction = direction;
    }

    public int getMax_x() {
        return max_x;
    }

    public void setMax_x(int max_x) {
        this.max_x = max_x;
    }

    public int getMax_y() {
        return max_y;
    }

    public void setMax_y(int max_y) {
        this.max_y = max_y;
    }
    //移动,车的坐标变动,并根据当前车的方向判断移动方向
    public void go(){
        if("E".equals(this.direction)){
            this.x+=1;
        }else if("S".equals(this.direction)){
            this.y+=-1;
        }else if("W".equals(this.direction)){
            this.x+=-1;
        }else if("N".equals(this.direction)){
            this.y+=1;
        }
    }
    //向左转
    public void left(){
        if("E".equals(this.direction)){
            this.direction="N";
        }else if("S".equals(this.direction)){
            this.direction="E";
        }else if("W".equals(this.direction)){
            this.direction="S";
        }else if("N".equals(this.direction)){
            this.direction="W";
        }
    }
    //向右转
    public void right(){
        if("E".equals(this.direction)){
            this.direction="S";
        }else if("S".equals(this.direction)){
            this.direction="W";
        }else if("W".equals(this.direction)){
            this.direction="N";
        }else if("N".equals(this.direction)){
            this.direction="E";
        }
    }
}

这是运行成功效果图