题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

正则表达式的基础运用。
import java.util.*;
public class Main {
    public static void main(String[] args) {
        new Main().mainfun();
    }

    public void mainfun() {
        Scanner sc = new Scanner(System.in);
        String rex = "^[A-Z]+[0-9]+([0-9])?";
        String out = sc.next();
        String[] outp = out.split(";");
        coor cord = new coor();
        for (String item : outp) {
            if (item.matches(rex)) {
                String fis = item.substring(0, 1);
                int gap = Integer.valueOf(item.substring(1, item.length()));
                switch (fis) {
                    case "A":
                        cord.setX(cord.getX() - gap);
                        break;
                    case "S":
                        cord.setY(cord.getY() - gap);
                        break;
                    case "W":
                        cord.setY(cord.getY() + gap);
                        break;
                    case "D":
                        cord.setX(cord.getX() + gap);
                        break;
                    default:
                        break;
                }
            }
        }
        System.out.println(cord.getX() + "," + cord.getY());
    }

    class coor {
        int x = 0;
        int y = 0;
        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;
        }
    }
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务