题解 | #坐标移动#

坐标移动

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

又是站在巨人肩膀上的答案

从某位大佬的答案中学到了用正则表达式匹配合法操作的方法,真的是太方便了!

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int x = 0, y = 0;
        String[] str = sc.nextLine().split(";");
        for(int i = 0; i < str.length; i ++){
            if(!str[i].matches("[WASD][0-9]{1,2}")) // 正则匹配
                continue;
            int val = Integer.valueOf(str[i].substring(1));
            switch(str[i].charAt(0)){
                case 'A':
                    x -= val;
                    break;
                case 'D':
                    x += val;
                    break;
                case 'W':
                    y += val;
                    break;
                case 'S':
                    y -= val;
                    break;
            }
        }
        System.out.print(x+","+y);
    }
}

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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