题解 | #坐标移动#

坐标移动

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

import java.util.*;
import java.util.regex.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
         // 注意 while 处理多个 case
            String cordinates=in.next();
            String[] exp=cordinates.split(";");
	  //正则表达式过滤所有的字符串
            String pattern="([AWSD][0-9]+){1}";
            int x=0;
            int y=0;
            for(int i=0;i<exp.length;i++){
                if(exp[i].matches(pattern)){
                    switch(exp[i].charAt(0)){
                        case 'A':x-=Integer.valueOf(exp[i].substring(1));
                        break;
                        case 'W':y+=Integer.valueOf(exp[i].substring(1));
                        break;
                        case 'S':y-=Integer.valueOf(exp[i].substring(1));
                        break;
                        case 'D':x+=Integer.valueOf(exp[i].substring(1));
                        break;
                        default:x=x;y=y;
                    }

                }
            }
        System.out.print(x+","+y);
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务