题解 | #坐标移动#

坐标移动

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

import java.util.*;
import java.io.*;
public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String[] in = bf.readLine().split(";");//分隔字符 
        int x = 0;
        int y = 0;
        //确认初始坐标
        for(String s : in){//遍历
            // 不满足题目给定坐标规则
            if(!s.matches("[WASD][0-9]{1,2}")){/*正则过滤
            []用于匹配一组字符中的任意一个。例如,[abc]可以匹配a、b或者c。
            还可以用范围表示,如[a-z]匹配小写字母,[A-Z]匹配大写字母,[0-9]匹配数字。
            表示前面的元素出现次数在n到m之间(包括n和m)。例如,a{1,3}可以匹配a、aa、aaa。*/
                continue;
            }
            int val = Integer.valueOf(s.substring(1));//截取字符串从1的位置到末尾
            switch(s.charAt(0)){
                /*用于获取字符串 s 中索引为 0 的字符的方法。例如,如果
                 s = "hello",那么 s.charAt (0) 将返回 "h"。*/
                case 'W':
                    y += val;
                    break;
                case 'S':
                    y -= val;
                    break;
                case 'A':
                    x -= val;
                    break;
                case 'D':
                    x += val;
                    break;
            }
        }
        System.out.println(x+","+y);
    }
}

全部评论

相关推荐

Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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