题解 | #坐标移动#

坐标移动

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);
    }
}

全部评论

相关推荐

头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务